diff options
author | Muhammed Siju <msiju@codeaurora.org> | 2014-08-26 20:19:41 +0530 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2014-11-04 08:53:37 -0700 |
commit | dca77760ba0b0c9e6cb047ed20851469fceb168f (patch) | |
tree | 980258e92df3eae755ca4258ceebef0c6010b691 | |
parent | c6c7bab2d3d5f04c197d69f95123a9e3fe2ba64f (diff) | |
download | android_frameworks_opt_telephony-staging/cm-12.0-caf.tar.gz android_frameworks_opt_telephony-staging/cm-12.0-caf.tar.bz2 android_frameworks_opt_telephony-staging/cm-12.0-caf.zip |
Fix back to back data call requests on same apn.staging/cm-12.0-caf
If one ApnContext is in DISCONNECTING state and another ApnContext
which uses the same apn needs to be brought up, current code doesnot
share the same DataConnection object. This may lead to back to back
requests on same apn. To avoid this, allow sharing of DC even when it
is in DISCONNECTING state. This will allow DC to be brought up immediately
after getting disconnected.
CRs-Fixed: 712333
Change-Id: I3d6fef87014f339b04393ec33f86d89beab8c644
-rwxr-xr-x | src/java/com/android/internal/telephony/dataconnection/DcTracker.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java index 7510d3b96..4a61e1fc1 100755 --- a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java +++ b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java @@ -2063,6 +2063,13 @@ public final class DcTracker extends DcTrackerBase { case CONNECTING: potentialDcac = curDcac; potentialApnCtx = curApnCtx; + break; + case DISCONNECTING: + //Update for DISCONNECTING only if there is no other potential match + if (potentialDcac == null) { + potentialDcac = curDcac; + potentialApnCtx = curApnCtx; + } default: // Not connected, potential unchanged break; @@ -2081,6 +2088,13 @@ public final class DcTracker extends DcTrackerBase { case CONNECTING: potentialDcac = curDcac; potentialApnCtx = curApnCtx; + break; + case DISCONNECTING: + // Update for DISCONNECTING only if there is no other potential match + if (potentialDcac == null) { + potentialDcac = curDcac; + potentialApnCtx = curApnCtx; + } default: // Not connected, potential unchanged break; |