diff options
author | Ricardo Cerqueira <ricardo@cyngn.com> | 2015-11-05 03:52:09 +0000 |
---|---|---|
committer | Ricardo Cerqueira <ricardo@cyngn.com> | 2015-11-05 14:31:39 +0000 |
commit | 52ecfcad4bebc6ed3f373b7ded9bf6f1435c5860 (patch) | |
tree | 2896631ee6b0821721c59aeb21d08016ce57f514 /service/java/com/android/server/wifi/WifiController.java | |
parent | ee031dc696810e67203c60b96f921c50742ddae7 (diff) | |
parent | 0ae5739ef837aec1872f97c79b51e332aa1273e9 (diff) | |
download | frameworks_opt_net_wifi-52ecfcad4bebc6ed3f373b7ded9bf6f1435c5860.tar.gz frameworks_opt_net_wifi-52ecfcad4bebc6ed3f373b7ded9bf6f1435c5860.tar.bz2 frameworks_opt_net_wifi-52ecfcad4bebc6ed3f373b7ded9bf6f1435c5860.zip |
Merge tag 'android-6.0.0_r26' into HEAD
Android 6.0.0 release 26
Conflicts:
service/java/com/android/server/wifi/WifiStateMachine.java
Change-Id: I05f1edf746073a8bf7511c1978df132ba918c73d
Diffstat (limited to 'service/java/com/android/server/wifi/WifiController.java')
-rw-r--r-- | service/java/com/android/server/wifi/WifiController.java | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/service/java/com/android/server/wifi/WifiController.java b/service/java/com/android/server/wifi/WifiController.java index 94e3764..92fc562 100644 --- a/service/java/com/android/server/wifi/WifiController.java +++ b/service/java/com/android/server/wifi/WifiController.java @@ -116,6 +116,9 @@ class WifiController extends StateMachine { static final int CMD_USER_PRESENT = BASE + 12; static final int CMD_AP_START_FAILURE = BASE + 13; + private static final int WIFI_DISABLED = 0; + private static final int WIFI_ENABLED = 1; + private DefaultState mDefaultState = new DefaultState(); private StaEnabledState mStaEnabledState = new StaEnabledState(); private ApStaDisabledState mApStaDisabledState = new ApStaDisabledState(); @@ -443,6 +446,10 @@ class WifiController extends StateMachine { break; case CMD_SET_AP: if (msg.arg1 == 1) { + if (msg.arg2 == 0) { // previous wifi state has not been saved yet + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.WIFI_SAVED_STATE, WIFI_DISABLED); + } mWifiStateMachine.setHostApRunning((WifiConfiguration) msg.obj, true); transitionTo(mApEnabledState); @@ -511,6 +518,15 @@ class WifiController extends StateMachine { transitionTo(mEcmState); break; } + case CMD_SET_AP: + if (msg.arg1 == 1) { + // remeber that we were enabled + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.WIFI_SAVED_STATE, WIFI_ENABLED); + deferMessage(obtainMessage(msg.what, msg.arg1, 1, msg.obj)); + transitionTo(mApStaDisabledState); + } + break; default: return NOT_HANDLED; @@ -569,7 +585,9 @@ class WifiController extends StateMachine { case CMD_SET_AP: // Before starting tethering, turn off supplicant for scan mode if (msg.arg1 == 1) { - deferMessage(msg); + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.WIFI_SAVED_STATE, WIFI_DISABLED); + deferMessage(obtainMessage(msg.what, msg.arg1, 1, msg.obj)); transitionTo(mApStaDisabledState); } break; @@ -619,7 +637,19 @@ class WifiController extends StateMachine { case CMD_SET_AP: if (msg.arg1 == 0) { mWifiStateMachine.setHostApRunning(null, false); - transitionTo(mApStaDisabledState); + int wifiSavedState = Settings.Global.getInt(mContext.getContentResolver(), + Settings.Global.WIFI_SAVED_STATE, WIFI_DISABLED); + if (wifiSavedState == WIFI_ENABLED) { + transitionTo(mStaEnabledState); + } + else { + if (mSettingsStore.isScanAlwaysAvailable()) { + transitionTo(mStaDisabledWithScanState); + } + else { + transitionTo(mApStaDisabledState); + } + } } break; case CMD_AP_START_FAILURE: |