From 62cef43ac255c09308f0f42744772e0da3f3c54c Mon Sep 17 00:00:00 2001 From: Kweku Adams Date: Mon, 16 Mar 2020 14:24:31 -0700 Subject: Deprecate POWER_SAVE_MODE_CHANGING broadcast. The internal POWER_SAVE_MODE_CHANGING broadcast is sent at the same time as the POWER_SAVE_MODE_CHANGED broadcast. Since broadcasts are asynchronous,there's no reason to have both, especially since it can potentially lead to inconsistency, so we should simplify down to just one. Mark the POWER_SAVE_MODE_CHANGING broadcast as deprecated in R and unavailable to apps targeting R. We'll remove it in a future version. Bug: 79580230 Test: Android builds Test: atest BatterySaverReceiverTest Change-Id: I70e20ce53b496a3dc88a1083c230334f53032d81 --- core/java/android/os/PowerManager.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index 40ff5ca4cb0e..a7e3f25412ef 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -2224,15 +2224,27 @@ public final class PowerManager { * Intent that is broadcast when the state of {@link #isPowerSaveMode()} is about to change. * This broadcast is only sent to registered receivers. * + * @deprecated This is sent at the same time as {@link #ACTION_POWER_SAVE_MODE_CHANGED} so it + * does not provide advanced warning. As such it will be removed in future Android versions. + * Use {@link #ACTION_POWER_SAVE_MODE_CHANGED} and {@link #isPowerSaveMode()} instead. + * * @hide */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.Q, + publicAlternatives = "Use {@link #ACTION_POWER_SAVE_MODE_CHANGED} instead.") @SdkConstant(SdkConstant.SdkConstantType.BROADCAST_INTENT_ACTION) + @Deprecated public static final String ACTION_POWER_SAVE_MODE_CHANGING = "android.os.action.POWER_SAVE_MODE_CHANGING"; - /** @hide */ - @UnsupportedAppUsage + /** + * @deprecated Use {@link #isPowerSaveMode()} instead. + * + * @hide + */ + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.Q, + publicAlternatives = "Use {@link #isPowerSaveMode()} instead.") + @Deprecated public static final String EXTRA_POWER_SAVE_MODE = "mode"; /** -- cgit v1.2.3-59-g8ed1b