summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java8
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),