diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 85fa7a1b4c3e..edeaa50c7189 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -12463,19 +12463,14 @@ public class ActivityManagerService extends IActivityManager.Stub void onWakefulnessChanged(int wakefulness) { synchronized(this) { + boolean wasAwake = mWakefulness == PowerManagerInternal.WAKEFULNESS_AWAKE; + boolean isAwake = wakefulness == PowerManagerInternal.WAKEFULNESS_AWAKE; mWakefulness = wakefulness; - // Also update state in a special way for running foreground services UI. - switch (mWakefulness) { - case PowerManagerInternal.WAKEFULNESS_ASLEEP: - case PowerManagerInternal.WAKEFULNESS_DREAMING: - case PowerManagerInternal.WAKEFULNESS_DOZING: - mServices.updateScreenStateLocked(false /* screenOn */); - break; - case PowerManagerInternal.WAKEFULNESS_AWAKE: - default: - mServices.updateScreenStateLocked(true /* screenOn */); - break; + if (wasAwake != isAwake) { + // Also update state in a special way for running foreground services UI. + mServices.updateScreenStateLocked(isAwake); + sendNotifyVrManagerOfSleepState(!isAwake); } } } @@ -12511,7 +12506,6 @@ public class ActivityManagerService extends IActivityManager.Stub } mStackSupervisor.applySleepTokensLocked(true /* applyToStacks */); if (wasSleeping) { - sendNotifyVrManagerOfSleepState(false); updateOomAdjLocked(); } } else if (!mSleeping && shouldSleep) { @@ -12521,7 +12515,6 @@ public class ActivityManagerService extends IActivityManager.Stub } mTopProcessState = ActivityManager.PROCESS_STATE_TOP_SLEEPING; mStackSupervisor.goingToSleepLocked(); - sendNotifyVrManagerOfSleepState(true); updateOomAdjLocked(); } } |