summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2013-10-08 17:26:08 -0700
committerCraig Mautner <cmautner@google.com>2013-10-08 21:32:37 -0700
commit4e8a19c73a0b4ca91ea963230948841054495631 (patch)
tree3e87c37a2991efbb2c0503ce3b8bc7c775655434 /services/java/com/android/server
parent5dadf8389eed7b0bf04bcbf89d10f13d366b2d68 (diff)
downloadframeworks_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/com/android/server')
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java6
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;