Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 414985c4 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Remove window from mWaitingForDrawn when policy hidden

When doing a wake-and-unlock sequence and the app underneath hides
the status bar, we are dismissing Keyguard, the app gets focus, the
app hides the status bar BUT we haven't finished drawn yet, so we
are waiting until the timeout because w.hasDrawnLw() always returns
false. Remove window from pending list if it gets policy hidden.

Bug: 23431343
Change-Id: I27e8c6d4efb435a4d3b632a4a37c0de5b021c2e7
parent 8c8a0c00
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -10408,8 +10408,8 @@ public class WindowManagerService extends IWindowManager.Stub
                    ": removed=" + win.mRemoved + " visible=" + win.isVisibleLw() +
                    " mHasSurface=" + win.mHasSurface +
                    " drawState=" + win.mWinAnimator.mDrawState);
            if (win.mRemoved || !win.mHasSurface) {
                // Window has been removed; no draw will now happen, so stop waiting.
            if (win.mRemoved || !win.mHasSurface || !win.mPolicyVisibility) {
                // Window has been removed or hidden; no draw will now happen, so stop waiting.
                if (DEBUG_SCREEN_ON) Slog.w(TAG, "Aborted waiting for drawn: " + win);
                mWaitingForDrawn.remove(win);
            } else if (win.hasDrawnLw()) {