am ec944728: Merge "DO NOT MERGE Disable WiMAX when "Data Enabled" is off" into gingerbread

* commit 'ec94472835787b66e1799110411d5077d0ef37cd':
  DO NOT MERGE Disable WiMAX when "Data Enabled" is off
This commit is contained in:
Simon Wilson
2011-04-04 12:25:25 -07:00
committed by Android Git Automerger

View File

@@ -394,6 +394,10 @@ public class ConnectivityService extends IConnectivityManager.Stub {
nst.startMonitoring(); nst.startMonitoring();
} }
mNetTrackers[netType] = nst; mNetTrackers[netType] = nst;
if (noMobileData) {
if (DBG) Slog.d(TAG, "tearing down WiMAX networks due to setting");
mNetTrackers[netType].teardown();
}
break; break;
default: default:
Slog.e(TAG, "Trying to create a DataStateTracker for an unknown radio type " + Slog.e(TAG, "Trying to create a DataStateTracker for an unknown radio type " +
@@ -1018,6 +1022,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
} }
mNetTrackers[ConnectivityManager.TYPE_MOBILE].reconnect(); 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 { } else {
for (NetworkStateTracker nt : mNetTrackers) { for (NetworkStateTracker nt : mNetTrackers) {
if (nt == null) continue; if (nt == null) continue;
@@ -1027,6 +1037,9 @@ public class ConnectivityService extends IConnectivityManager.Stub {
nt.teardown(); nt.teardown();
} }
} }
if (mNetTrackers[ConnectivityManager.TYPE_WIMAX] != null) {
mNetTrackers[ConnectivityManager.TYPE_WIMAX].teardown();
}
} }
} }
@@ -1155,6 +1168,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
" because Mobile Data Disabled"); " because Mobile Data Disabled");
continue; 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]; NetworkStateTracker checkTracker = mNetTrackers[checkType];
NetworkInfo checkInfo = checkTracker.getNetworkInfo(); NetworkInfo checkInfo = checkTracker.getNetworkInfo();
if (!checkInfo.isConnectedOrConnecting() || checkTracker.isTeardownRequested()) { if (!checkInfo.isConnectedOrConnecting() || checkTracker.isTeardownRequested()) {