diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-08-03 23:04:51 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-08-03 23:04:51 +0000 |
commit | e513467a7388ce80322c87a6636d4a2568aae87f (patch) | |
tree | 1b2f7bd69f66755a12f1df01791d8d9160bf03ab | |
parent | 915dfa42441f8133587ff1ee3da7a3aff7a24d0e (diff) | |
parent | b5072c6da24adbc4bef8f26e061aee985a014086 (diff) | |
download | telephony-e513467a7388ce80322c87a6636d4a2568aae87f.tar.gz |
Merge "Fixed the aggresive data call setup" into oc-dr1-dev
-rw-r--r-- | src/java/com/android/internal/telephony/dataconnection/DcTracker.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java index ac55fa5a9f..6daff833cc 100644 --- a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java +++ b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java @@ -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, @@ -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()) |