summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adrian Roos <roosa@google.com> 2015-07-10 00:15:25 +0000
committer Android Git Automerger <android-git-automerger@android.com> 2015-07-10 00:15:25 +0000
commit4dfeea4f2243b7824ca56fa8906e12c90ce979ab (patch)
tree3a0ca8c03e7f0285d249f1a5ba6890ed10cba4db
parent948a3ed9bc289c17ada0a5eeb9dffb2314e924a5 (diff)
parent4d8134c1b9e11c2b3a92195fb753da7b144bad1e (diff)
am 4d8134c1: Merge "Fix black keyguard / missing status bar" into mnc-dev
* commit '4d8134c1b9e11c2b3a92195fb753da7b144bad1e': Fix black keyguard / missing status bar
-rw-r--r--core/java/android/view/WindowManagerPolicy.java8
-rw-r--r--services/core/java/com/android/server/policy/BarController.java4
-rw-r--r--services/core/java/com/android/server/wm/WindowState.java1
3 files changed, 11 insertions, 2 deletions
diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java
index 64210ea00256..be564f84d221 100644
--- a/core/java/android/view/WindowManagerPolicy.java
+++ b/core/java/android/view/WindowManagerPolicy.java
@@ -342,6 +342,14 @@ public interface WindowManagerPolicy {
boolean isGoneForLayoutLw();
/**
+ * Returns true if the window has a surface that it has drawn a
+ * complete UI in to. Note that this is different from {@link #hasDrawnLw()}
+ * in that it also returns true if the window is READY_TO_SHOW, but was not yet
+ * promoted to HAS_DRAWN.
+ */
+ boolean isDrawnLw();
+
+ /**
* Returns true if this window has been shown on screen at some time in
* the past. Must be called with the window manager lock held.
*/
diff --git a/services/core/java/com/android/server/policy/BarController.java b/services/core/java/com/android/server/policy/BarController.java
index 5877b3eb8598..9095f57b175a 100644
--- a/services/core/java/com/android/server/policy/BarController.java
+++ b/services/core/java/com/android/server/policy/BarController.java
@@ -155,7 +155,7 @@ public class BarController {
}
private int computeStateLw(boolean wasVis, boolean wasAnim, WindowState win, boolean change) {
- if (win.hasDrawnLw()) {
+ if (win.isDrawnLw()) {
final boolean vis = win.isVisibleLw();
final boolean anim = win.isAnimatingLw();
if (mState == StatusBarManager.WINDOW_STATE_HIDING && !change && !vis) {
@@ -198,7 +198,7 @@ public class BarController {
}
public boolean checkHiddenLw() {
- if (mWin != null && mWin.hasDrawnLw()) {
+ if (mWin != null && mWin.isDrawnLw()) {
if (!mWin.isVisibleLw() && !mWin.isAnimatingLw()) {
updateStateLw(StatusBarManager.WINDOW_STATE_HIDDEN);
}
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index b918a25f98de..c2548de64ec2 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -1104,6 +1104,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
* Returns true if the window has a surface that it has drawn a
* complete UI in to.
*/
+ @Override
public boolean isDrawnLw() {
return mHasSurface && !mDestroying &&
(mWinAnimator.mDrawState == WindowStateAnimator.READY_TO_SHOW