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

Commit 9acc2db5 authored by Roshan Pius's avatar Roshan Pius
Browse files

WifiManager: Add API for auto wakeup feature toggle

Needed for moving away from using Settings.Global values as pseudo APIs.

Bug: 148514485
Test: atest android.net.wifi
Test: Verified wifi wakeup feature toggle in wifi settings.
Change-Id: I999d1cf835743e6e56e9bdeeeb67579c8ba48c1c
parent 3fecd2f5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -31280,6 +31280,7 @@ package android.net.wifi {
    method public int getWifiState();
    method public boolean is5GHzBandSupported();
    method public boolean is6GHzBandSupported();
    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAutoWakeupEnabled();
    method @Deprecated public boolean isDeviceToApRttSupported();
    method public boolean isEasyConnectSupported();
    method public boolean isEnhancedOpenSupported();
+2 −1
Original line number Diff line number Diff line
@@ -7717,6 +7717,7 @@ package android.net.wifi {
    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void save(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener);
    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMeteredOverridePasspoint(@NonNull String, int);
@@ -9694,7 +9695,7 @@ package android.provider {
    field public static final String WIFI_SCAN_THROTTLE_ENABLED = "wifi_scan_throttle_enabled";
    field public static final String WIFI_SCORE_PARAMS = "wifi_score_params";
    field public static final String WIFI_VERBOSE_LOGGING_ENABLED = "wifi_verbose_logging_enabled";
    field public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
  }
  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
+2 −0
Original line number Diff line number Diff line
@@ -10207,7 +10207,9 @@ public final class Settings {
         *
         * Type: int (0 for false, 1 for true)
         * @hide
         * @deprecated Use {@link WifiManager#isAutoWakeupEnabled()} instead.
         */
        @Deprecated
        @SystemApi
        public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
+4 −0
Original line number Diff line number Diff line
@@ -272,4 +272,8 @@ interface IWifiManager
    boolean isScanThrottleEnabled();

    Map getAllMatchingPasspointProfilesForScanResults(in List<ScanResult> scanResult);

    void setAutoWakeupEnabled(boolean enable);

    boolean isAutoWakeupEnabled();
}
+46 −0
Original line number Diff line number Diff line
@@ -6163,4 +6163,50 @@ public class WifiManager {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * Enable/disable wifi auto wakeup feature.
     *
     * <p>
     * The feature is described in
     * <a href="Wi-Fi Turn on automatically">
     * https://source.android.com/devices/tech/connect/wifi-infrastructure
     * #turn_on_wi-fi_automatically
     * </a>
     *
     * @param enable true to enable, false to disable.
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
    public void setAutoWakeupEnabled(boolean enable) {
        try {
            mService.setAutoWakeupEnabled(enable);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * Get the persisted Wi-Fi auto wakeup feature state. Defaults to false, unless changed by the
     * user via Settings.
     *
     * <p>
     * The feature is described in
     * <a href="Wi-Fi Turn on automatically">
     * https://source.android.com/devices/tech/connect/wifi-infrastructure
     * #turn_on_wi-fi_automatically
     * </a>
     *
     * @return true to indicate that wakeup feature is enabled, false to indicate that wakeup
     * feature is disabled.
     */
    @RequiresPermission(ACCESS_WIFI_STATE)
    public boolean isAutoWakeupEnabled() {
        try {
            return mService.isAutoWakeupEnabled();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
}
Loading