锁卡上层流程

来源:互联网 发布:淘宝0信誉店铺出售 编辑:程序博客网 时间:2024/04/30 05:16

(1)锁卡涉及的模块主要有两部分:

     (a)frameworks/opt/telephony :主要负责和底层通信,获取sim卡状态改变信息和锁卡信息等

    (b)frameworks/base/packages/apps/Systemui:更新sim卡状态、更新ui等

(2)ril上报sim状态发生改变,在ril处理sim发生改变的消息时,mIccStatusChangedRegistrants.notifyRegistrants();通知给监听者 

          UiccController作为监听者(mCis[i].registerForIccStatusChanged(this, EVENT_ICC_STATUS_CHANGED, index); 

          UiccController 处理EVENT_ICC_STATUS_CHANGED 通知的层获取sim的信息,获取信息后,处理EVENT_GET_ICC_STATUS_DONE消息 

           ==>onGetIccCardStatusDone

(3)onGetIccCardStatusDone获取IccCardStatus,UiccCards(一张sim卡对应一个UiccCards),UicccardApplication

          接着发送通知:mIccChangedRegistrants.notifyRegistrants(new AsyncResult(null, index, null));通知监听者sim卡状态发生改变了

(4)icccardProxy:监听者,在构造函数mUiccController.registerForIccChanged(this, EVENT_ICC_CHANGED, null);,接着handleMessage,然后调用:updateIccAvailability

(5)updateIccAvailability是一个很重要的方法,更新UiccCard CardState  IccCardRecords UiccCardApplication (这些信息都是之前在底层获取的)这个方法调用

          registerUiccCardEvents如下:

                  

                                                                                             


原创粉丝点击