本文主要介绍底层发送数据连接状态变化时,如何通知到信号栏来刷新数据图标的路程
Step 1:DcTracker:notifyDataConnection 通过遍历各个apn类型,分别发送通知到phone
Step 2: Phonebase:notifyDataConnection 获取状态后,发给notifier
Step 3:DefaultPhoneNotifier:notifyDataConnection,调用doNotifyDataConnection,到这里要上报的信息不仅仅是状态,还把linkProperties,networkCapabilities等属性也上报了
step 4:TelephonyRegistry:notifyDataConnectionForSubscriber
这里已经是systemserver进程,会根据状态,调用注册的回调onDataConnectionStateChanged, systemUI 注册这个回调,就知道数据连接的状态,从而刷新图标