diff options
author | Simon Wilson <simonwilson@google.com> | 2011-03-30 13:26:45 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-03-30 13:26:45 -0700 |
commit | ec94472835787b66e1799110411d5077d0ef37cd (patch) | |
tree | 3eeb1de3309e549c82baed81cb2529613c358c8e | |
parent | 8b312c6ca1c3f6dc4bec0c7d45bc9509afef4984 (diff) | |
parent | 8a7fc0af618d08dca5005881ae8d5b1994df34e0 (diff) | |
download | base-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.java | 19 |
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()) { |