diff options
author | Craig Mautner <cmautner@google.com> | 2013-10-08 17:26:08 -0700 |
---|---|---|
committer | Craig Mautner <cmautner@google.com> | 2013-10-08 21:32:37 -0700 |
commit | 4e8a19c73a0b4ca91ea963230948841054495631 (patch) | |
tree | 3e87c37a2991efbb2c0503ce3b8bc7c775655434 /services/java | |
parent | 5dadf8389eed7b0bf04bcbf89d10f13d366b2d68 (diff) | |
download | frameworks_base-4e8a19c73a0b4ca91ea963230948841054495631.zip frameworks_base-4e8a19c73a0b4ca91ea963230948841054495631.tar.gz frameworks_base-4e8a19c73a0b4ca91ea963230948841054495631.tar.bz2 |
Remove overly tight constraint on drawn Keyguard.
The requirement that a window that is invisible will not be drawn is
incorrect. In particular the test fails before a surface has even been
added (mHasSurface == false) or shown (mPolicyVisibility == false).
This was causing the screen to turn on before Keyguard had been drawn
and exposing surfaces that would have normally remained hidden.
Also, don't pass null into KeyguardServiceDelegate.onShown() or we
will immediately turn the screen on before Keyguard is drawn.
Fixes bug 11062635.
Change-Id: I964c7ef186d0a94678020b9c27ca6b79e5433350
Diffstat (limited to 'services/java')
-rw-r--r-- | services/java/com/android/server/wm/WindowManagerService.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 0e0d098..038e779 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -9468,9 +9468,8 @@ public class WindowManagerService extends IWindowManager.Stub //Slog.i(TAG, "Waiting for drawn " + win + ": removed=" // + win.mRemoved + " visible=" + win.isVisibleLw() // + " shown=" + win.mSurfaceShown); - if (win.mRemoved || !win.isVisibleLw()) { - // Window has been removed or made invisible; no draw - // will now happen, so stop waiting. + if (win.mRemoved) { + // Window has been removed; no draw will now happen, so stop waiting. Slog.w(TAG, "Aborted waiting for drawn: " + pair.first); try { pair.second.sendResult(null); @@ -9505,6 +9504,7 @@ public class WindowManagerService extends IWindowManager.Stub checkDrawnWindowsLocked(); return true; } + Slog.i(TAG, "waitForWindowDrawn: win null"); } } return false; |