Merge "Add API to control scan always mode" into jb-mr2-dev

This commit is contained in:
Irfan Sheriff
2013-03-20 15:49:20 +00:00
committed by Android (Google) Code Review
4 changed files with 35 additions and 14 deletions

View File

@@ -13582,6 +13582,7 @@ package android.net.wifi {
method public deprecated android.net.DhcpInfo getDhcpInfo();
method public java.util.List<android.net.wifi.ScanResult> getScanResults();
method public int getWifiState();
method public boolean isScanningAlwaysAvailable();
method public boolean isWifiEnabled();
method public boolean pingSupplicant();
method public boolean reassociate();
@@ -13592,6 +13593,7 @@ package android.net.wifi {
method public boolean startScan();
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 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";

View File

@@ -482,20 +482,10 @@ public final class WifiService extends IWifiManager.Stub {
* started or is already in the queue.
*/
public boolean isScanningAlwaysAvailable() {
// TODO: implement
return true;
enforceAccessPermission();
return mSettingsStore.isScanAlwaysAvailable();
}
/**
* @param enable {@code true} to enable, {@code false} to disable.
* @return {@code true} if the enable/disable operation was
* started or is already in the queue.
*/
public void setScanningAlwaysAvailable(boolean enable) {
// TODO: implement
}
/**
* see {@link android.net.wifi.WifiManager#disconnect()}
*/

View File

@@ -73,8 +73,6 @@ interface IWifiManager
boolean isScanningAlwaysAvailable();
void setScanningAlwaysAvailable(boolean enable);
boolean acquireWifiLock(IBinder lock, int lockType, String tag, in WorkSource ws);
void updateWifiLockWorkSource(IBinder lock, in WorkSource ws);

View File

@@ -392,6 +392,21 @@ public class WifiManager {
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
public static final String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED";
/**
* Activity Action: Show a system activity that allows the user to enable
* scans to be available even with Wi-Fi turned off.
*
* <p>Notification of the result of this activity is posted using the
* {@link android.app.Activity#onActivityResult} callback. The
* <code>resultCode</code>
* will be {@link android.app.Activity#RESULT_OK} if scan always mode has
* been turned on or {@link android.app.Activity#RESULT_CANCELED} if the user
* has rejected the request or an error has occurred.
*/
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE =
"android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE";
/**
* Activity Action: Pick a Wi-Fi network to connect to.
* <p>Input: Nothing.
@@ -762,6 +777,22 @@ public class WifiManager {
}
}
/**
* Check if scanning is always available.
*
* If this return {@code true}, apps can issue {@link #startScan} and fetch scan results
* even when Wi-Fi is turned off.
*
* To change this setting, see {@link #ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE}.
*/
public boolean isScanningAlwaysAvailable() {
try {
return mService.isScanningAlwaysAvailable();
} catch (RemoteException e) {
return false;
}
}
/**
* Tell the supplicant to persist the current list of configured networks.
* <p>