summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Wilson <simonwilson@google.com>2011-03-30 13:26:45 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-03-30 13:26:45 -0700
commitec94472835787b66e1799110411d5077d0ef37cd (patch)
tree3eeb1de3309e549c82baed81cb2529613c358c8e
parent8b312c6ca1c3f6dc4bec0c7d45bc9509afef4984 (diff)
parent8a7fc0af618d08dca5005881ae8d5b1994df34e0 (diff)
downloadbase-ec94472835787b66e1799110411d5077d0ef37cd.tar.gz
Merge "DO NOT MERGE Disable WiMAX when "Data Enabled" is off" into gingerbread
-rw-r--r--services/java/com/android/server/ConnectivityService.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 8f0816d5097c..8c4bf18ab95b 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -391,6 +391,10 @@ public class ConnectivityService extends IConnectivityManager.Stub {
nst.startMonitoring();
}
mNetTrackers[netType] = nst;
+ if (noMobileData) {
+ if (DBG) Slog.d(TAG, "tearing down WiMAX networks due to setting");
+ mNetTrackers[netType].teardown();
+ }
break;
default:
Slog.e(TAG, "Trying to create a DataStateTracker for an unknown radio type " +
@@ -987,6 +991,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
}
mNetTrackers[ConnectivityManager.TYPE_MOBILE].reconnect();
}
+ if (mNetTrackers[ConnectivityManager.TYPE_WIMAX] != null) {
+ if (DBG) {
+ Slog.d(TAG, "starting up " + mNetTrackers[ConnectivityManager.TYPE_WIMAX]);
+ }
+ mNetTrackers[ConnectivityManager.TYPE_WIMAX].reconnect();
+ }
} else {
for (NetworkStateTracker nt : mNetTrackers) {
if (nt == null) continue;
@@ -996,6 +1006,9 @@ public class ConnectivityService extends IConnectivityManager.Stub {
nt.teardown();
}
}
+ if (mNetTrackers[ConnectivityManager.TYPE_WIMAX] != null) {
+ mNetTrackers[ConnectivityManager.TYPE_WIMAX].teardown();
+ }
}
}
@@ -1124,6 +1137,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
" because Mobile Data Disabled");
continue;
}
+ if (mNetAttributes[checkType].mRadio == ConnectivityManager.TYPE_WIMAX &&
+ noMobileData) {
+ Slog.e(TAG, "not failing over to mobile type " + checkType +
+ " because Mobile Data Disabled");
+ continue;
+ }
NetworkStateTracker checkTracker = mNetTrackers[checkType];
NetworkInfo checkInfo = checkTracker.getNetworkInfo();
if (!checkInfo.isConnectedOrConnecting() || checkTracker.isTeardownRequested()) {