am b2e6c01f: Disable tethering when airplane mode is enabled

Merge commit 'b2e6c01f449f3fd4effee7029518684deb4e98f6' into froyo-plus-aosp

* commit 'b2e6c01f449f3fd4effee7029518684deb4e98f6':
  Disable tethering when airplane mode is enabled
This commit is contained in:
Irfan Sheriff
2010-04-06 10:48:46 -07:00
committed by Android Git Automerger

View File

@@ -190,6 +190,12 @@ public class WifiService extends IWifiManager.Stub {
*/ */
private int mLastEnableUid = Process.myUid(); private int mLastEnableUid = Process.myUid();
/*
* Last UID that asked to enable WIFI AP.
*/
private int mLastApEnableUid = Process.myUid();
/** /**
* Number of allowed radio frequency channels in various regulatory domains. * Number of allowed radio frequency channels in various regulatory domains.
* This list is sufficient for 802.11b/g networks (2.4GHz range). * This list is sufficient for 802.11b/g networks (2.4GHz range).
@@ -240,6 +246,10 @@ public class WifiService extends IWifiManager.Stub {
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
// clear our flag indicating the user has overwridden airplane mode // clear our flag indicating the user has overwridden airplane mode
mAirplaneModeOverwridden = false; mAirplaneModeOverwridden = false;
// on airplane disable, restore Wifi if the saved state indicates so
if (!isAirplaneModeOn() && testAndClearWifiSavedState()) {
persistWifiEnabled(true);
}
updateWifiState(); updateWifiState();
} }
}, },
@@ -613,8 +623,7 @@ public class WifiService extends IWifiManager.Stub {
sWakeLock.acquire(); sWakeLock.acquire();
Binder.restoreCallingIdentity(ident); Binder.restoreCallingIdentity(ident);
mLastEnableUid = Binder.getCallingUid(); mLastApEnableUid = Binder.getCallingUid();
sendAccessPointMessage(enabled, wifiConfig, Binder.getCallingUid()); sendAccessPointMessage(enabled, wifiConfig, Binder.getCallingUid());
} }
@@ -1802,6 +1811,14 @@ public class WifiService extends IWifiManager.Stub {
if ((mWifiStateTracker.getWifiState() == WIFI_STATE_ENABLING) && !airplaneMode) { if ((mWifiStateTracker.getWifiState() == WIFI_STATE_ENABLING) && !airplaneMode) {
return; return;
} }
/* Disable tethering when airplane mode is enabled */
if (airplaneMode &&
(mWifiApState == WIFI_AP_STATE_ENABLING || mWifiApState == WIFI_AP_STATE_ENABLED)) {
sWakeLock.acquire();
sendAccessPointMessage(false, null, mLastApEnableUid);
}
if (wifiShouldBeEnabled) { if (wifiShouldBeEnabled) {
if (wifiShouldBeStarted) { if (wifiShouldBeStarted) {
sWakeLock.acquire(); sWakeLock.acquire();