summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/PowerManagerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/PowerManagerService.java')
-rw-r--r--services/java/com/android/server/PowerManagerService.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index 52a4110..bebce7e 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -1752,7 +1752,7 @@ public class PowerManagerService extends IPowerManager.Stub
+ " noChangeLights=" + noChangeLights
+ " reason=" + reason);
}
-
+
if (noChangeLights) {
newState = (newState & ~LIGHTS_MASK) | (mPowerState & LIGHTS_MASK);
}
@@ -1794,6 +1794,19 @@ public class PowerManagerService extends IPowerManager.Stub
final boolean stateChanged = mPowerState != newState;
+ if (stateChanged && reason == WindowManagerPolicy.OFF_BECAUSE_OF_TIMEOUT) {
+ if (mPolicy.isScreenSaverEnabled()) {
+ if (mSpew) {
+ Slog.d(TAG, "setPowerState: running screen saver instead of turning off screen");
+ }
+ if (mPolicy.startScreenSaver()) {
+ // was successful
+ return;
+ }
+ }
+ }
+
+
if (oldScreenOn != newScreenOn) {
if (newScreenOn) {
// When the user presses the power button, we need to always send out the