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(...)