summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/WifiController.java
diff options
context:
space:
mode:
authorVinit Deshapnde <vinitd@google.com>2014-03-07 16:36:54 -0800
committerVinit Deshapnde <vinitd@google.com>2014-03-07 16:36:54 -0800
commit13494d0692330ed0f91e7f4e03805473773e7807 (patch)
tree2a4849a4f18fabc1c677962ec8e0b3da8ad197a1 /service/java/com/android/server/wifi/WifiController.java
parent64e65668e36bfeb0b634e9a678020ed04434f365 (diff)
downloadframeworks_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.java12
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);