diff options
author | Roshan Pius <rpius@google.com> | 2017-03-15 16:39:19 -0700 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2017-03-16 16:50:38 -0700 |
commit | 3e240b2bfb6fefe8b91ad68e8a12b652b4136c69 (patch) | |
tree | 48fb6424c2ec4379bfe204c767ef020d9437970c /service | |
parent | 44104c69e83ee6ee07f0449cbf720dad53c0cdfb (diff) |
SupplicantStaIfaceHal: Stop wpa_supplicant auto connect
Bug: 36282386
Test: Compiles & manual tests.
Change-Id: I90a7b56de1b6f3315bd71c94df45abe8aa9dc155
Diffstat (limited to 'service')
3 files changed, 28 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/SupplicantStaIfaceHal.java b/service/java/com/android/server/wifi/SupplicantStaIfaceHal.java index 9d063d247..8f141e6a2 100644 --- a/service/java/com/android/server/wifi/SupplicantStaIfaceHal.java +++ b/service/java/com/android/server/wifi/SupplicantStaIfaceHal.java @@ -1446,6 +1446,21 @@ public class SupplicantStaIfaceHal { } } + /** See ISupplicant.hal for documentation */ + public boolean enableAutoReconnect(boolean enable) { + synchronized (mLock) { + final String methodStr = "enableAutoReconnect"; + if (!checkSupplicantAndLogFailure(methodStr)) return false; + try { + SupplicantStatus status = mISupplicantStaIface.enableAutoReconnect(enable); + return checkStatusAndLogFailure(status, methodStr); + } catch (RemoteException e) { + handleRemoteException(e, methodStr); + return false; + } + } + } + public static final int LOG_LEVEL_EXCESSIVE = ISupplicant.DebugLevel.EXCESSIVE; public static final int LOG_LEVEL_MSGDUMP = ISupplicant.DebugLevel.MSGDUMP; public static final int LOG_LEVEL_DEBUG = ISupplicant.DebugLevel.DEBUG; diff --git a/service/java/com/android/server/wifi/WifiNative.java b/service/java/com/android/server/wifi/WifiNative.java index d8df0da72..87ace7839 100644 --- a/service/java/com/android/server/wifi/WifiNative.java +++ b/service/java/com/android/server/wifi/WifiNative.java @@ -671,6 +671,16 @@ public class WifiNative { } /** + * Enable/Disable auto reconnect functionality in wpa_supplicant. + * + * @param enable true to enable auto reconnecting, false to disable. + * @return true if request is sent successfully, false otherwise. + */ + public boolean enableStaAutoReconnect(boolean enable) { + return mSupplicantStaIfaceHal.enableAutoReconnect(enable); + } + + /** * Migrate all the configured networks from wpa_supplicant. * * @param configs Map of configuration key to configuration objects corresponding to all diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java index 2f86743f2..58b4ff639 100644 --- a/service/java/com/android/server/wifi/WifiStateMachine.java +++ b/service/java/com/android/server/wifi/WifiStateMachine.java @@ -4204,6 +4204,9 @@ public class WifiStateMachine extends StateMachine implements WifiNative.WifiRss // Enable link layer stats gathering mWifiNative.setWifiLinkLayerStats("wlan0", 1); + + // Disable wpa_supplicant from auto reconnecting. + mWifiNative.enableStaAutoReconnect(false); } @Override |