summaryrefslogtreecommitdiff
path: root/services/core/java/com/android/server/power/PowerManagerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/core/java/com/android/server/power/PowerManagerService.java')
-rw-r--r--services/core/java/com/android/server/power/PowerManagerService.java9
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.