Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ef840cd authored by Irfan Sheriff's avatar Irfan Sheriff
Browse files

Add API to control scan always mode

Bug: 8141918
Change-Id: I1e5e45e514726c2cbfd86e747123e477e00fd7ed
parent b630b7e4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -13580,6 +13580,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();
@@ -13590,6 +13591,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";
+2 −12
Original line number Diff line number Diff line
@@ -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;
    }

    /**
     * @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
        enforceAccessPermission();
        return mSettingsStore.isScanAlwaysAvailable();
    }


    /**
     * see {@link android.net.wifi.WifiManager#disconnect()}
     */
+0 −2
Original line number Diff line number Diff line
@@ -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);
+31 −0
Original line number Diff line number Diff line
@@ -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>