Merge "Fix black keyguard / missing status bar" into mnc-dev

This commit is contained in:
Adrian Roos
2015-07-10 00:01:19 +00:00
committed by Android (Google) Code Review
3 changed files with 11 additions and 2 deletions

View File

@@ -341,6 +341,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.

View File

@@ -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);
}

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
* complete UI in to.
*/
@Override
public boolean isDrawnLw() {
return mHasSurface && !mDestroying &&
(mWinAnimator.mDrawState == WindowStateAnimator.READY_TO_SHOW