diff options
Diffstat (limited to 'services/java/com/android/server/am/ActivityManagerService.java')
-rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 0f8d151..ab35ac2 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -4098,6 +4098,10 @@ public final class ActivityManagerService extends ActivityManagerNative EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_ENABLE_SCREEN, SystemClock.uptimeMillis()); mWindowManager.enableScreenAfterBoot(); + + synchronized (this) { + updateEventDispatchingLocked(); + } } public void showBootMessage(final CharSequence msg, final boolean always) { @@ -6686,7 +6690,7 @@ public final class ActivityManagerService extends ActivityManagerNative synchronized(this) { mWentToSleep = true; - mWindowManager.setEventDispatching(false); + updateEventDispatchingLocked(); if (!mSleeping) { mSleeping = true; @@ -6712,7 +6716,7 @@ public final class ActivityManagerService extends ActivityManagerNative synchronized(this) { mShuttingDown = true; - mWindowManager.setEventDispatching(false); + updateEventDispatchingLocked(); if (mMainStack.mResumedActivity != null) { mMainStack.stopIfSleepingLocked(); @@ -6776,11 +6780,15 @@ public final class ActivityManagerService extends ActivityManagerNative synchronized(this) { mWentToSleep = false; - mWindowManager.setEventDispatching(true); + updateEventDispatchingLocked(); comeOutOfSleepIfNeededLocked(); } } + private void updateEventDispatchingLocked() { + mWindowManager.setEventDispatching(mBooted && !mWentToSleep && !mShuttingDown); + } + public void setLockScreenShown(boolean shown) { if (checkCallingPermission(android.Manifest.permission.DEVICE_POWER) != PackageManager.PERMISSION_GRANTED) { |