diff options
Diffstat (limited to 'services/core/java/com/android/server/power/PowerManagerService.java')
-rw-r--r-- | services/core/java/com/android/server/power/PowerManagerService.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index e1b3e4d6fbcf..1cb7880ff81d 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -421,6 +421,8 @@ public final class PowerManagerService extends SystemService // True if doze should not be started until after the screen off transition. private boolean mDozeAfterScreenOff; + private boolean mEnableAutoSuspendConfig; + // The minimum screen off timeout, in milliseconds. private long mMinimumScreenOffTimeoutConfig; @@ -954,6 +956,8 @@ public final class PowerManagerService extends SystemService com.android.internal.R.bool.config_powerDecoupleAutoSuspendModeFromDisplay); mDecoupleHalInteractiveModeFromDisplayConfig = resources.getBoolean( com.android.internal.R.bool.config_powerDecoupleInteractiveModeFromDisplay); + mEnableAutoSuspendConfig = resources.getBoolean( + com.android.internal.R.bool.config_enableAutoSuspend); mWakeUpWhenPluggedOrUnpluggedConfig = resources.getBoolean( com.android.internal.R.bool.config_unplugTurnsOnScreen); mWakeUpWhenPluggedOrUnpluggedInTheaterModeConfig = resources.getBoolean( @@ -2625,7 +2629,8 @@ public final class PowerManagerService extends SystemService if (!mDecoupleHalInteractiveModeFromDisplayConfig) { setHalInteractiveModeLocked(false); } - if (!mDecoupleHalAutoSuspendModeFromDisplayConfig) { + if (mEnableAutoSuspendConfig + && !mDecoupleHalAutoSuspendModeFromDisplayConfig) { setHalAutoSuspendModeLocked(true); } } else { @@ -2670,7 +2675,7 @@ public final class PowerManagerService extends SystemService private void updateSuspendBlockerLocked() { final boolean needWakeLockSuspendBlocker = ((mWakeLockSummary & WAKE_LOCK_CPU) != 0); final boolean needDisplaySuspendBlocker = needDisplaySuspendBlockerLocked(); - final boolean autoSuspend = !needDisplaySuspendBlocker; + final boolean autoSuspend = mEnableAutoSuspendConfig && !needDisplaySuspendBlocker; final boolean interactive = mDisplayPowerRequest.isBrightOrDim(); // Disable auto-suspend if needed. |