summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/ConnectivityService.java
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2011-01-26 15:43:49 -0800
committerWink Saville <wink@google.com>2011-01-26 15:43:49 -0800
commit9f7a0b2b0270b1ad59d2103839b1d4b02f910a90 (patch)
treececaaa03abf30098f6fdfa1f48c64221c05a7b64 /services/java/com/android/server/ConnectivityService.java
parent373d357a8b13dc2cdc82d9e1d6144fb26e3bb202 (diff)
Comment out the isAvailable optimization.
As the comment says this causes problems if the connection is handling errors. This removes the optimization for now. Bug: 3386481 Change-Id: I6cb00abe8b1949e9b79b4906a6bdab5872b5054d
Diffstat (limited to 'services/java/com/android/server/ConnectivityService.java')
-rw-r--r--services/java/com/android/server/ConnectivityService.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index bd3c554a5be5..e689654110b6 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -1152,7 +1152,17 @@ public class ConnectivityService extends IConnectivityManager.Stub {
if (checkType == prevNetType) continue;
if (mNetAttributes[checkType] == null) continue;
if (!mNetAttributes[checkType].isDefault()) continue;
- if (!mNetTrackers[checkType].isAvailable()) continue;
+
+// Enabling the isAvailable() optimization caused mobile to not get
+// selected if it was in the middle of error handling. Specifically
+// a moble connection that took 30 seconds to complete the DEACTIVATE_DATA_CALL
+// would not be available and we wouldn't get connected to anything.
+// So removing the isAvailable() optimization below for now. TODO: This
+// optimization should work and we need to investigate why it doesn't work.
+// This could be related to how DEACTIVATE_DATA_CALL is reporting its
+// complete before it is really complete.
+// if (!mNetTrackers[checkType].isAvailable()) continue;
+
// if (currentPriority >= mNetAttributes[checkType].mPriority) continue;
NetworkStateTracker checkTracker = mNetTrackers[checkType];