diff options
| -rw-r--r-- | services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java b/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java index 06559df98351..dd6d71e3b7a3 100644 --- a/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java +++ b/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java @@ -141,8 +141,14 @@ public class BatterySaverStateMachine { if (DEBUG) { Slog.d(TAG, "onBootCompleted"); } - // This is called with the power manager lock held. Don't do any + // Just booted. We don't want LOW_POWER_MODE to be persisted, so just always clear it. + putGlobalSetting(Global.LOW_POWER_MODE, 0); + + // This is called with the power manager lock held. Don't do anything that may call to + // upper services. (e.g. don't call into AM directly) + // So use a BG thread. runOnBgThread(() -> { + final ContentResolver cr = mContext.getContentResolver(); cr.registerContentObserver(Settings.Global.getUriFor( Settings.Global.LOW_POWER_MODE), |