android systemui分析,SystemUI之VolumeUI分析

本文来分析 SystemUI 的 VolumeUI 模块,这个模块比较简单,它使用MVP架构完成设计的,如下图本文首先会讲解这个架构如何形成的,然后会分析按下 Power 键后处理流程。MVP的创建通过 SystemUI之StatusBar创建 可知,VolumeUI 的入口为 VolumeUI#start()// frameworks/base/packages/SystemUI/src/com...
摘要由CSDN通过智能技术生成

本文来分析 SystemUI 的 VolumeUI 模块,这个模块比较简单,它使用MVP架构完成设计的,如下图

fee734a40529a654e6f006fc90bf9d32.png

本文首先会讲解这个架构如何形成的,然后会分析按下 Power 键后处理流程。

MVP的创建

通过 SystemUI之StatusBar创建 可知,VolumeUI 的入口为 VolumeUI#start()

// frameworks/base/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java

public void start() {

// ...

// 创建 VolumeDialogComponent 对象

mVolumeComponent = SystemUIFactory.getInstance()

.createVolumeDialogComponent(this, mContext);

mVolumeComponent.setEnableDialogs(enableVolumeUi, enableSafetyWarning);

// ...

// 启动VolumeUI的功能

mVolumeComponent.register();

}

复制代码

VolumeUI 启动的时候会创建一个 VolumeDialogComponent 对象,从名字可以看出,它代表 VolumeUI 组件,通过它可以创建整个MVP。

VolumeDialogComponent 对象创建完成后,就会调用它的register()方法启动 VolumeUI 功能。它其实就是关联 Presenter 层和 Model 层。

首先来看看 VolumeDialogComponent 的构造函数

// frameworks/base/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java

public VolumeDialogComponent(SystemUI sysui, Context context) {

// ...

// build()之后,会调用createDefault(),然后调用Callback

Dependency.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值