From 08a746a0c60d19eb2211924ffd9fe1e452a261a6 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Sun, 24 Jun 2012 12:14:49 -0700 Subject: [PATCH] Don't enable input dispatch until display enabled. Bug: 6263070 Change-Id: I05d036fc1d9ec06d164d6743d45bb3f199cfab47 --- .../com/android/server/wm/WindowManagerService.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 73bfe8ec87741..f84451eb299ea 100755 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -5285,6 +5285,9 @@ public class WindowManagerService extends IWindowManager.Stub } catch (RemoteException ex) { Slog.e(TAG, "Boot completed: SurfaceFlinger is dead!"); } + + // Enable input dispatch. + mInputMonitor.setEventDispatchingLw(mEventDispatchingEnabled); } mPolicy.enableScreenAfterBoot(); @@ -6636,7 +6639,8 @@ public class WindowManagerService extends IWindowManager.Stub // ------------------------------------------------------------- final InputMonitor mInputMonitor = new InputMonitor(this); - + private boolean mEventDispatchingEnabled; + public void pauseKeyDispatching(IBinder _token) { if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS, "pauseKeyDispatching()")) { @@ -6672,7 +6676,10 @@ public class WindowManagerService extends IWindowManager.Stub } synchronized (mWindowMap) { - mInputMonitor.setEventDispatchingLw(enabled); + mEventDispatchingEnabled = enabled; + if (mDisplayEnabled) { + mInputMonitor.setEventDispatchingLw(enabled); + } sendScreenStatusToClientsLocked(); } }