summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinit Deshapnde <vinitd@google.com>2014-03-05 17:14:49 -0800
committerVinit Deshapnde <vinitd@google.com>2014-03-05 17:14:49 -0800
commit31727f84569cadf4623427a45c4b8284640fdcc0 (patch)
treed40641ca20edc15edcbd7179add78d2dc485b117
parent2d1e8c49582fb91df0a05a778c228fc1cd89e026 (diff)
downloadframeworks_base-31727f84569cadf4623427a45c4b8284640fdcc0.zip
frameworks_base-31727f84569cadf4623427a45c4b8284640fdcc0.tar.gz
frameworks_base-31727f84569cadf4623427a45c4b8284640fdcc0.tar.bz2
DO NOT MERGE - 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: I55b4a5352a72a9c783e1b9891dd5363434585fb0
-rw-r--r--services/java/com/android/server/wifi/WifiController.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/services/java/com/android/server/wifi/WifiController.java b/services/java/com/android/server/wifi/WifiController.java
index a3d514e..bdb0a5e 100644
--- a/services/java/com/android/server/wifi/WifiController.java
+++ b/services/java/com/android/server/wifi/WifiController.java
@@ -152,11 +152,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);