Make Wifi WPS API available on application layer
Un-hide WPS methods (and required interface classes, etc.) of WifiManager to enable Apps to start/stop the WPS procedure, add a patch for WPS method KEYPAD to avoid early failure callbacks. (Methods PBC, DISPLAY, KEYPAD tested on 4.4.2_r2.) Change-Id: I25aafdc4b637c87d754d4fdb70e40a34a569b738 Signed-off-by: Olaf Stoyke <o.stoyke@avm.de>
This commit is contained in:
@@ -17067,6 +17067,7 @@ package android.net.wifi {
|
||||
public class WifiManager {
|
||||
method public int addNetwork(android.net.wifi.WifiConfiguration);
|
||||
method public static int calculateSignalLevel(int, int);
|
||||
method public void cancelWps(android.net.wifi.WifiManager.ActionListener);
|
||||
method public static int compareSignalLevel(int, int);
|
||||
method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(java.lang.String);
|
||||
method public android.net.wifi.WifiManager.WifiLock createWifiLock(int, java.lang.String);
|
||||
@@ -17090,9 +17091,12 @@ package android.net.wifi {
|
||||
method public void setTdlsEnabledWithMacAddress(java.lang.String, boolean);
|
||||
method public boolean setWifiEnabled(boolean);
|
||||
method public boolean startScan();
|
||||
method public void startWps(android.net.wifi.WpsInfo, android.net.wifi.WifiManager.WpsListener);
|
||||
method public int updateNetwork(android.net.wifi.WifiConfiguration);
|
||||
field public static final java.lang.String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
|
||||
field public static final java.lang.String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE = "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE";
|
||||
field public static final int BUSY = 2; // 0x2
|
||||
field public static final int ERROR = 0; // 0x0
|
||||
field public static final int ERROR_AUTHENTICATING = 1; // 0x1
|
||||
field public static final java.lang.String EXTRA_BSSID = "bssid";
|
||||
field public static final java.lang.String EXTRA_NETWORK_INFO = "networkInfo";
|
||||
@@ -17103,6 +17107,8 @@ package android.net.wifi {
|
||||
field public static final java.lang.String EXTRA_SUPPLICANT_ERROR = "supplicantError";
|
||||
field public static final java.lang.String EXTRA_WIFI_INFO = "wifiInfo";
|
||||
field public static final java.lang.String EXTRA_WIFI_STATE = "wifi_state";
|
||||
field public static final int INVALID_ARGS = 8; // 0x8
|
||||
field public static final int IN_PROGRESS = 1; // 0x1
|
||||
field public static final java.lang.String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED";
|
||||
field public static final java.lang.String NETWORK_STATE_CHANGED_ACTION = "android.net.wifi.STATE_CHANGE";
|
||||
field public static final java.lang.String RSSI_CHANGED_ACTION = "android.net.wifi.RSSI_CHANGED";
|
||||
@@ -17118,6 +17124,16 @@ package android.net.wifi {
|
||||
field public static final int WIFI_STATE_ENABLED = 3; // 0x3
|
||||
field public static final int WIFI_STATE_ENABLING = 2; // 0x2
|
||||
field public static final int WIFI_STATE_UNKNOWN = 4; // 0x4
|
||||
field public static final int WPS_AUTH_FAILURE = 6; // 0x6
|
||||
field public static final int WPS_OVERLAP_ERROR = 3; // 0x3
|
||||
field public static final int WPS_TIMED_OUT = 7; // 0x7
|
||||
field public static final int WPS_TKIP_ONLY_PROHIBITED = 5; // 0x5
|
||||
field public static final int WPS_WEP_PROHIBITED = 4; // 0x4
|
||||
}
|
||||
|
||||
public static abstract interface WifiManager.ActionListener {
|
||||
method public abstract void onFailure(int);
|
||||
method public abstract void onSuccess();
|
||||
}
|
||||
|
||||
public class WifiManager.MulticastLock {
|
||||
@@ -17135,6 +17151,12 @@ package android.net.wifi {
|
||||
method public void setWorkSource(android.os.WorkSource);
|
||||
}
|
||||
|
||||
public static abstract interface WifiManager.WpsListener {
|
||||
method public abstract void onCompletion();
|
||||
method public abstract void onFailure(int);
|
||||
method public abstract void onStartSuccess(java.lang.String);
|
||||
}
|
||||
|
||||
public class WifiScanner {
|
||||
method public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.HotspotInfo[]);
|
||||
method public void resetHotlist(android.net.wifi.WifiScanner.HotlistListener);
|
||||
@@ -17220,6 +17242,7 @@ package android.net.wifi {
|
||||
ctor public WpsInfo(android.net.wifi.WpsInfo);
|
||||
method public int describeContents();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public java.lang.String BSSID;
|
||||
field public static final android.os.Parcelable.Creator CREATOR;
|
||||
field public static final int DISPLAY = 1; // 0x1
|
||||
field public static final int INVALID = 4; // 0x4
|
||||
|
||||
@@ -1413,14 +1413,12 @@ public class WifiManager {
|
||||
/**
|
||||
* Passed with {@link ActionListener#onFailure}.
|
||||
* Indicates that the operation failed due to an internal error.
|
||||
* @hide
|
||||
*/
|
||||
public static final int ERROR = 0;
|
||||
|
||||
/**
|
||||
* Passed with {@link ActionListener#onFailure}.
|
||||
* Indicates that the operation is already in progress
|
||||
* @hide
|
||||
*/
|
||||
public static final int IN_PROGRESS = 1;
|
||||
|
||||
@@ -1428,30 +1426,28 @@ public class WifiManager {
|
||||
* Passed with {@link ActionListener#onFailure}.
|
||||
* Indicates that the operation failed because the framework is busy and
|
||||
* unable to service the request
|
||||
* @hide
|
||||
*/
|
||||
public static final int BUSY = 2;
|
||||
|
||||
/* WPS specific errors */
|
||||
/** WPS overlap detected {@hide} */
|
||||
/** WPS overlap detected */
|
||||
public static final int WPS_OVERLAP_ERROR = 3;
|
||||
/** WEP on WPS is prohibited {@hide} */
|
||||
/** WEP on WPS is prohibited */
|
||||
public static final int WPS_WEP_PROHIBITED = 4;
|
||||
/** TKIP only prohibited {@hide} */
|
||||
/** TKIP only prohibited */
|
||||
public static final int WPS_TKIP_ONLY_PROHIBITED = 5;
|
||||
/** Authentication failure on WPS {@hide} */
|
||||
/** Authentication failure on WPS */
|
||||
public static final int WPS_AUTH_FAILURE = 6;
|
||||
/** WPS timed out {@hide} */
|
||||
/** WPS timed out */
|
||||
public static final int WPS_TIMED_OUT = 7;
|
||||
|
||||
/**
|
||||
* Passed with {@link ActionListener#onFailure}.
|
||||
* Indicates that the operation failed due to invalid inputs
|
||||
* @hide
|
||||
*/
|
||||
public static final int INVALID_ARGS = 8;
|
||||
|
||||
/** Interface for callback invocation on an application action {@hide} */
|
||||
/** Interface for callback invocation on an application action */
|
||||
public interface ActionListener {
|
||||
/** The operation succeeded */
|
||||
public void onSuccess();
|
||||
@@ -1463,7 +1459,7 @@ public class WifiManager {
|
||||
public void onFailure(int reason);
|
||||
}
|
||||
|
||||
/** Interface for callback invocation on a start WPS action {@hide} */
|
||||
/** Interface for callback invocation on a start WPS action */
|
||||
public interface WpsListener {
|
||||
/** WPS start succeeded */
|
||||
public void onStartSuccess(String pin);
|
||||
@@ -1745,7 +1741,6 @@ public class WifiManager {
|
||||
* @param listener for callbacks on success or failure. Can be null.
|
||||
* @throws IllegalStateException if the WifiManager instance needs to be
|
||||
* initialized again
|
||||
* @hide
|
||||
*/
|
||||
public void startWps(WpsInfo config, WpsListener listener) {
|
||||
if (config == null) throw new IllegalArgumentException("config cannot be null");
|
||||
@@ -1759,7 +1754,6 @@ public class WifiManager {
|
||||
* @param listener for callbacks on success or failure. Can be null.
|
||||
* @throws IllegalStateException if the WifiManager instance needs to be
|
||||
* initialized again
|
||||
* @hide
|
||||
*/
|
||||
public void cancelWps(ActionListener listener) {
|
||||
validateChannel();
|
||||
|
||||
@@ -40,7 +40,7 @@ public class WpsInfo implements Parcelable {
|
||||
/** Wi-Fi Protected Setup. www.wi-fi.org/wifi-protected-setup has details */
|
||||
public int setup;
|
||||
|
||||
/** @hide */
|
||||
/** Passed with pin method KEYPAD */
|
||||
public String BSSID;
|
||||
|
||||
/** Passed with pin method configuration */
|
||||
|
||||
Reference in New Issue
Block a user