summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/java/com/android/server/wifi/SupplicantStaIfaceHal.java15
-rw-r--r--service/java/com/android/server/wifi/WifiNative.java10
-rw-r--r--service/java/com/android/server/wifi/WifiStateMachine.java3
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