WPS fixes and refactor
- Allow IP and proxy set up for WPS
- Use string for WPS pin to avoid losing leading zeros
- Add a seperate WPS state machine and WpsConfiguration class
Change-Id: I87f43fff8bba0ae8ff02e5fc495a8bc628a8c8cf
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java
index 7f81a25..07813b0 100644
--- a/services/java/com/android/server/WifiService.java
+++ b/services/java/com/android/server/WifiService.java
@@ -39,6 +39,7 @@
import android.net.wifi.WifiConfiguration;
import android.net.wifi.SupplicantState;
import android.net.wifi.WifiConfiguration.KeyMgmt;
+import android.net.wifi.WpsConfiguration;
import android.net.ConnectivityManager;
import android.net.InterfaceConfiguration;
import android.net.DhcpInfo;
@@ -843,23 +844,13 @@
mWifiStateMachine.forgetNetwork(netId);
}
- public void startWpsPbc(String bssid) {
- enforceChangePermission();
- mWifiStateMachine.startWpsPbc(bssid);
- }
-
- public void startWpsWithPinFromAccessPoint(String bssid, int apPin) {
- enforceChangePermission();
- mWifiStateMachine.startWpsWithPinFromAccessPoint(bssid, apPin);
- }
-
- public int startWpsWithPinFromDevice(String bssid) {
+ public String startWps(WpsConfiguration config) {
enforceChangePermission();
if (mChannel != null) {
- return mWifiStateMachine.syncStartWpsWithPinFromDevice(mChannel, bssid);
+ return mWifiStateMachine.startWps(mChannel, config);
} else {
Slog.e(TAG, "mChannel is not initialized");
- return -1;
+ return "";
}
}