diff options
author | Vinit Deshapnde <vinitd@google.com> | 2014-03-07 16:36:54 -0800 |
---|---|---|
committer | Vinit Deshapnde <vinitd@google.com> | 2014-03-07 16:36:54 -0800 |
commit | 13494d0692330ed0f91e7f4e03805473773e7807 (patch) | |
tree | 2a4849a4f18fabc1c677962ec8e0b3da8ad197a1 /service/java/com/android/server/wifi/WifiController.java | |
parent | 64e65668e36bfeb0b634e9a678020ed04434f365 (diff) | |
download | frameworks_opt_net_wifi-13494d0692330ed0f91e7f4e03805473773e7807.tar.gz frameworks_opt_net_wifi-13494d0692330ed0f91e7f4e03805473773e7807.tar.bz2 frameworks_opt_net_wifi-13494d0692330ed0f91e7f4e03805473773e7807.zip |
Fix Airplane Mode + reboot interaction for Wifi
This change fixes two problems - first, if you rebooted phone after
turning on Airplane mode, Wifi controller goes to ScanOnly mode which
may end up in Wifi radio transmissions. Secondly, because of this
incorrect state, the state machine doesn't turn on Wifi once Airplane
mode is turned off.
bug: 11409692
Change-Id: I5fc23f6691bc063fda6be734103a5f11db970946
Diffstat (limited to 'service/java/com/android/server/wifi/WifiController.java')
-rw-r--r-- | service/java/com/android/server/wifi/WifiController.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiController.java b/service/java/com/android/server/wifi/WifiController.java index 530e2c3..e5389a1 100644 --- a/service/java/com/android/server/wifi/WifiController.java +++ b/service/java/com/android/server/wifi/WifiController.java @@ -151,11 +151,21 @@ class WifiController extends StateMachine { addState(mStaDisabledWithScanState, mDefaultState); addState(mApEnabledState, mDefaultState); addState(mEcmState, mDefaultState); - if (mSettingsStore.isScanAlwaysAvailable()) { + + boolean isAirplaneModeOn = mSettingsStore.isAirplaneModeOn(); + boolean isWifiEnabled = mSettingsStore.isWifiToggleEnabled(); + boolean isScanningAlwaysAvailable = mSettingsStore.isScanAlwaysAvailable(); + + log("isAirplaneModeOn = " + isAirplaneModeOn + + ", isWifiEnabled = " + isWifiEnabled + + ", isScanningAvailable = " + isScanningAlwaysAvailable); + + if (isWifiEnabled && isScanningAlwaysAvailable) { setInitialState(mStaDisabledWithScanState); } else { setInitialState(mApStaDisabledState); } + setLogRecSize(100); setLogOnlyTransitions(false); |