aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMuhammed Siju <msiju@codeaurora.org>2014-08-26 20:19:41 +0530
committerLinux Build Service Account <lnxbuild@localhost>2014-11-04 08:53:37 -0700
commitdca77760ba0b0c9e6cb047ed20851469fceb168f (patch)
tree980258e92df3eae755ca4258ceebef0c6010b691
parentc6c7bab2d3d5f04c197d69f95123a9e3fe2ba64f (diff)
downloadandroid_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-xsrc/java/com/android/internal/telephony/dataconnection/DcTracker.java14
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;