Loading src/java/com/android/internal/telephony/dataconnection/DcTracker.java +10 −8 Original line number Diff line number Diff line Loading @@ -3760,6 +3760,14 @@ public class DcTracker extends Handler { break; case DctConstants.EVENT_DATA_RAT_CHANGED: if (mPhone.getServiceState().getRilDataRadioTechnology() == ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN) { // unknown rat is an exception for data rat change. It's only received when out // of service and is not applicable for apn bearer bitmask. We should bypass the // check of waiting apn list and keep the data connection on, and no need to // setup a new one. break; } cleanUpConnectionsOnUpdatedApns(false, Phone.REASON_NW_TYPE_CHANGED); //May new Network allow setupData, so try it here setupDataOnConnectableApns(Phone.REASON_NW_TYPE_CHANGED, Loading Loading @@ -4384,17 +4392,11 @@ public class DcTracker extends Handler { if (mAllApnSettings != null && mAllApnSettings.isEmpty()) { cleanUpAllConnections(tearDown, Phone.REASON_APN_CHANGED); } else { int radioTech = mPhone.getServiceState().getRilDataRadioTechnology(); if (radioTech == ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN) { // unknown rat is an exception for data rat change. Its only received when out of // service and is not applicable for apn bearer bitmask. We should bypass the check // of waiting apn list and keep the data connection on. return; } for (ApnContext apnContext : mApnContexts.values()) { ArrayList<ApnSetting> currentWaitingApns = apnContext.getWaitingApns(); ArrayList<ApnSetting> waitingApns = buildWaitingApns( apnContext.getApnType(), radioTech); apnContext.getApnType(), mPhone.getServiceState().getRilDataRadioTechnology()); if (VDBG) log("new waitingApns:" + waitingApns); if ((currentWaitingApns != null) && ((waitingApns.size() != currentWaitingApns.size()) Loading Loading
src/java/com/android/internal/telephony/dataconnection/DcTracker.java +10 −8 Original line number Diff line number Diff line Loading @@ -3760,6 +3760,14 @@ public class DcTracker extends Handler { break; case DctConstants.EVENT_DATA_RAT_CHANGED: if (mPhone.getServiceState().getRilDataRadioTechnology() == ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN) { // unknown rat is an exception for data rat change. It's only received when out // of service and is not applicable for apn bearer bitmask. We should bypass the // check of waiting apn list and keep the data connection on, and no need to // setup a new one. break; } cleanUpConnectionsOnUpdatedApns(false, Phone.REASON_NW_TYPE_CHANGED); //May new Network allow setupData, so try it here setupDataOnConnectableApns(Phone.REASON_NW_TYPE_CHANGED, Loading Loading @@ -4384,17 +4392,11 @@ public class DcTracker extends Handler { if (mAllApnSettings != null && mAllApnSettings.isEmpty()) { cleanUpAllConnections(tearDown, Phone.REASON_APN_CHANGED); } else { int radioTech = mPhone.getServiceState().getRilDataRadioTechnology(); if (radioTech == ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN) { // unknown rat is an exception for data rat change. Its only received when out of // service and is not applicable for apn bearer bitmask. We should bypass the check // of waiting apn list and keep the data connection on. return; } for (ApnContext apnContext : mApnContexts.values()) { ArrayList<ApnSetting> currentWaitingApns = apnContext.getWaitingApns(); ArrayList<ApnSetting> waitingApns = buildWaitingApns( apnContext.getApnType(), radioTech); apnContext.getApnType(), mPhone.getServiceState().getRilDataRadioTechnology()); if (VDBG) log("new waitingApns:" + waitingApns); if ((currentWaitingApns != null) && ((waitingApns.size() != currentWaitingApns.size()) Loading