DO NOT MERGE Disable WiMAX when "Data Enabled" is off

When user uncheck "Data Enabled" check box, WiMAX goes
into "disconnected" state.

Change-Id: I3b9bdbc16cc4ddbf7a1aac0c984cad8994c4e9f2
Signed-off-by: TK MUN <tk.mun@samsung.com>
This commit is contained in:
TK MUN
2011-03-30 09:27:07 +09:00
committed by Simon Wilson
parent 9991017bbd
commit dc9a535917

View File

@@ -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()) {