SystemUI学习2

1SystemUI信号刷新流程
(1)改动点:android 5.1的代码中,已经原生支持了双卡管理,华为需要针对此特性升

(2)视图布局
super_status_bar.xml->status_bar.xml->signal_cluster_view

(3) 注册流程:
PhoneStatusBar.start->new NetworkControllerImpl->NetworkControllerImpl.registerListeners->
updateMobileControllers-> mSubscriptionManager.getActiveSubscriptionInfoList->
setCurrentSubscriptions->SignalClusterView.setSubs->HwSignalClusterView.setSubs->inflatePhoneState->
new HwPhoneState->mSignalClusterView.mMobileSignalGroup.addView-> NetworkControllerImpl.
new MobileSignalController-> MobileSignalController.registerListener
注解:SignalController是NetworkControllerImpl的内部类,作为移动信号和WiFi信号的父类,移动信号的管理类为MobileSignalController,WiFi的管理类为WifiSignalController。每个卡槽对应一个MobileSignalController对象。M版本与L版本最大的区别就是系统中的MobileSignalController对象是随着手机中卡在位情况可以进行动态生成或销毁的。
而当前系统有多少个卡在位是通过如下协议接口动态获取到的:
mSubscriptionManager.getActiveSubscriptionInfoList();
每一个MobileSignalCont

猜你喜欢

转载自blog.csdn.net/qq_42894864/article/details/104720475