am 0dc7f44c: am 1ec13f18: am 4dfeea4f: am 4d8134c1: Merge "Fix black keyguard / missing status bar" into mnc-dev

* commit '0dc7f44c1f454f57e344084c5631c6c3b9727c0e':
  Fix black keyguard / missing status bar
This commit is contained in:
Adrian Roos
2015-07-10 00:59:31 +00:00
committed by Android Git Automerger
3 changed files with 11 additions and 2 deletions

View File

@@ -341,6 +341,14 @@ public interface WindowManagerPolicy {
*/ */
boolean isGoneForLayoutLw(); 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 * 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. * the past. Must be called with the window manager lock held.

View File

@@ -155,7 +155,7 @@ public class BarController {
} }
private int computeStateLw(boolean wasVis, boolean wasAnim, WindowState win, boolean change) { private int computeStateLw(boolean wasVis, boolean wasAnim, WindowState win, boolean change) {
if (win.hasDrawnLw()) { if (win.isDrawnLw()) {
final boolean vis = win.isVisibleLw(); final boolean vis = win.isVisibleLw();
final boolean anim = win.isAnimatingLw(); final boolean anim = win.isAnimatingLw();
if (mState == StatusBarManager.WINDOW_STATE_HIDING && !change && !vis) { if (mState == StatusBarManager.WINDOW_STATE_HIDING && !change && !vis) {
@@ -198,7 +198,7 @@ public class BarController {
} }
public boolean checkHiddenLw() { public boolean checkHiddenLw() {
if (mWin != null && mWin.hasDrawnLw()) { if (mWin != null && mWin.isDrawnLw()) {
if (!mWin.isVisibleLw() && !mWin.isAnimatingLw()) { if (!mWin.isVisibleLw() && !mWin.isAnimatingLw()) {
updateStateLw(StatusBarManager.WINDOW_STATE_HIDDEN); updateStateLw(StatusBarManager.WINDOW_STATE_HIDDEN);
} }

View File

@@ -1104,6 +1104,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
* Returns true if the window has a surface that it has drawn a * Returns true if the window has a surface that it has drawn a
* complete UI in to. * complete UI in to.
*/ */
@Override
public boolean isDrawnLw() { public boolean isDrawnLw() {
return mHasSurface && !mDestroying && return mHasSurface && !mDestroying &&
(mWinAnimator.mDrawState == WindowStateAnimator.READY_TO_SHOW (mWinAnimator.mDrawState == WindowStateAnimator.READY_TO_SHOW