diff --git a/core/api/current.txt b/core/api/current.txt index 1805c403f2c61..3763900d814b1 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -31813,9 +31813,9 @@ package android.os { method public float getThermalHeadroom(@IntRange(from=0, to=60) int); method public boolean isBatteryDischargePredictionPersonalized(); method public boolean isDeviceIdleMode(); + method public boolean isDeviceLightIdleMode(); method public boolean isIgnoringBatteryOptimizations(String); method public boolean isInteractive(); - method public boolean isLightDeviceIdleMode(); method public boolean isPowerSaveMode(); method public boolean isRebootingUserspaceSupported(); method @Deprecated public boolean isScreenOn(); @@ -31826,7 +31826,7 @@ package android.os { method public void removeThermalStatusListener(@NonNull android.os.PowerManager.OnThermalStatusChangedListener); field public static final int ACQUIRE_CAUSES_WAKEUP = 268435456; // 0x10000000 field public static final String ACTION_DEVICE_IDLE_MODE_CHANGED = "android.os.action.DEVICE_IDLE_MODE_CHANGED"; - field public static final String ACTION_LIGHT_DEVICE_IDLE_MODE_CHANGED = "android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED"; + field public static final String ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED = "android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED"; field public static final String ACTION_POWER_SAVE_MODE_CHANGED = "android.os.action.POWER_SAVE_MODE_CHANGED"; field @Deprecated public static final int FULL_WAKE_LOCK = 26; // 0x1a field public static final int LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF = 2; // 0x2 diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index 2e41382b05792..753f3498a209b 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -25,6 +25,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SdkConstant; +import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; @@ -2094,14 +2095,14 @@ public final class PowerManager { * Returns true if the device is currently in light idle mode. This happens when a device * has had its screen off for a short time, switching it into a batching mode where we * execute jobs, syncs, networking on a batching schedule. You can monitor for changes to - * this state with {@link #ACTION_LIGHT_DEVICE_IDLE_MODE_CHANGED}. + * this state with {@link #ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED}. * - * @return Returns true if currently in active light device idle mode, else false. This is + * @return Returns true if currently in active device light idle mode, else false. This is * when light idle mode restrictions are being actively applied; it will return false if the * device is in a long-term idle mode but currently running a maintenance window where * restrictions have been lifted. */ - public boolean isLightDeviceIdleMode() { + public boolean isDeviceLightIdleMode() { try { return mService.isLightDeviceIdleMode(); } catch (RemoteException e) { @@ -2109,6 +2110,18 @@ public final class PowerManager { } } + /** + * @see #isDeviceLightIdleMode() + * @deprecated + * @hide + */ + @Deprecated + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.S, + publicAlternatives = "Use {@link #isDeviceLightIdleMode()} instead.") + public boolean isLightDeviceIdleMode() { + return isDeviceLightIdleMode(); + } + /** * Return whether the given application package name is on the device's power allowlist. * Apps can be placed on the allowlist through the settings UI invoked by @@ -2559,12 +2572,26 @@ public final class PowerManager { = "android.os.action.DEVICE_IDLE_MODE_CHANGED"; /** - * Intent that is broadcast when the state of {@link #isLightDeviceIdleMode()} changes. + * Intent that is broadcast when the state of {@link #isDeviceLightIdleMode()} changes. * This broadcast is only sent to registered receivers. */ + @SuppressLint("ActionValue") // Need to do "LIGHT_DEVICE_IDLE..." for legacy reasons @SdkConstant(SdkConstant.SdkConstantType.BROADCAST_INTENT_ACTION) - public static final String ACTION_LIGHT_DEVICE_IDLE_MODE_CHANGED - = "android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED"; + public static final String ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED = + // Use the old string so we don't break legacy apps. + "android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED"; + + /** + * @see #ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED + * @deprecated + * @hide + */ + @Deprecated + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553, + publicAlternatives = "Use {@link #ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED} instead") + @SdkConstant(SdkConstant.SdkConstantType.BROADCAST_INTENT_ACTION) + public static final String ACTION_LIGHT_DEVICE_IDLE_MODE_CHANGED = + ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED; /** * @hide Intent that is broadcast when the set of power save allowlist apps has changed.