diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 7b7518d053452..fbe24c43f027b 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -8580,7 +8580,7 @@ package android.os { method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long); method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend(); method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy(); - method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public int getPowerSaveModeTrigger(); + method public int getPowerSaveModeTrigger(); method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable(); method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed(); method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String); diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index ff9b4f41ef3bf..e5163d83de699 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -1881,6 +1881,10 @@ public final class PowerManager { * Returns the current battery saver control mode. Values it may return are defined in * AutoPowerSaveModeTriggers. Note that this is a global device state, not a per user setting. * + *

Note: Prior to Android version {@link Build.VERSION_CODES#S}, any app calling this method + * was required to hold the {@link android.Manifest.permission#POWER_SAVER} permission. Starting + * from Android version {@link Build.VERSION_CODES#S}, that permission is no longer required. + * * @return The current value power saver mode for the system. * * @see AutoPowerSaveModeTriggers @@ -1889,7 +1893,6 @@ public final class PowerManager { */ @AutoPowerSaveModeTriggers @SystemApi - @RequiresPermission(android.Manifest.permission.POWER_SAVER) public int getPowerSaveModeTrigger() { try { return mService.getPowerSaveModeTrigger(); diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index c0b8202936491..508c73ec40c2d 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -5121,7 +5121,6 @@ public final class PowerManagerService extends SystemService @Override // Binder call public int getPowerSaveModeTrigger() { - mContext.enforceCallingOrSelfPermission(android.Manifest.permission.POWER_SAVER, null); final long ident = Binder.clearCallingIdentity(); try { return Settings.Global.getInt(mContext.getContentResolver(),