开机后数据连接建立流程

DcTracker.java
1, 初始化时调用 update()
→ onUpdateIcc()
                    newIccRecords.registerForRecordsLoaded(
                            this, DctConstants.EVENT_RECORDS_LOADED, null);
注册 handler event EVENT_RECORDS_LOADED, 待卡的所有记录加载完成后触发。

2,EVENT_RECORDS_LOADED 
→ onRecordsLoadedOrSubIdChanged()
    → createAllApnList()   ① 读取数据库中所有与卡mcc、mcn相同的apn,并add到mAllApnSettings中;  ② 获取UI上选中的apn,赋于mPreferredApn。
    → setInitialAttachApn()  将IA类型apn或mPreferredApn下发底层, 作为initial attach apn。
    → setupDataOnConnectableApns(Phone.REASON_SIM_LOADED);
        →setupDataOnConnectableApns     →   trySetupData   →  setupData
           →  DcAsyncChannel.java  bringUp(EVENT_CONNECT)
                →  DataConnection.java onConnect()
                    → RIL.java  setupDataCall(...)
 

你可能感兴趣的:(开机后数据连接建立流程)