DcTracker setDataProfile 判断APN modemCognitive and requestNetwork set mApnSetting
一、setDataProfile(apn.modemCognitive->??aosp apn not invoke setDataProfilesAsNeeded??):
DcTracker.setDataProfilesAsNeeded
->for (ApnSetting apn : mAllApnSettings) {
->if (apn.modemCognitive) {
->...->RIL.setDataProfile->RIL_REQUEST_SET_DATA_PROFILE->...->ril_service.cpp
->RadioImpl::setDataProfile->RIL_REQUEST_SET_DATA_PROFILE->...->reference-ril.c.onRequest->??
Telephony.Carriers.MODEM_COGNITIVE:
/**
* Is the apn setting to be set in modem
* <P>Type: INTEGER (boolean)</P>
*@hide
*/
public static final String MODEM_COGNITIVE = "modem_cognitive";
(setModemCognitive:
DevicePolicyManager.getOverrideApns->DevicePolicyManagerService.getOverrideApns
->getOverrideApnsUnchecked->ApnSetting.makeApnSetting->setModemCognitive)
二、requestNetwork set mApnSetting(from APN_TYPE_DUN/mAllApnSettings):
DcTracker.requestNetwork->...->trySetupData
->int radioTech = mPhone.getServiceState().getRilDataRadioTechnology();
->ArrayList<ApnSetting> waitingApns =
buildWaitingApns(apnContext.getApnType(), radioTech);
->...(APN_TYPE_DUN/mPreferredApn/mAllApnSettings(
->for (ApnSetting apn : mAllApnSettings) {
->if (apn.canHandleType(requeste