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

Commit f3bea9cb authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Fix #2313887: Device doesn't boot after rebooting device...

...in setup wizard ->Wifi setup screen.

We were stopped waiting for the wallpaper to draw, which it would never do
because it had been obscured and thus hidden.

Change-Id: Ia48b3f2a46ca970f143cbaee99f5f2a054378986
parent 57ce0888
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -4301,7 +4301,7 @@ public class WindowManagerService extends IWindowManager.Stub
            final int N = mWindows.size();
            for (int i=0; i<N; i++) {
                WindowState w = (WindowState)mWindows.get(i);
                if (w.isVisibleLw() && !w.isDrawnLw()) {
                if (w.isVisibleLw() && !w.mObscured && !w.isDrawnLw()) {
                    return;
                }
            }
@@ -7563,6 +7563,12 @@ public class WindowManagerService extends IWindowManager.Stub
            mHasTransformation = false;
            mHasLocalTransformation = false;
            mPolicyVisibility = mPolicyVisibilityAfterAnim;
            if (!mPolicyVisibility) {
                // Window is no longer visible -- make sure if we were waiting
                // for it to be displayed before enabling the display, that
                // we allow the display to be enabled now.
                enableScreenIfNeededLocked();
            }
            mTransformation.clear();
            if (mHasDrawn
                    && mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING
@@ -8020,6 +8026,10 @@ public class WindowManagerService extends IWindowManager.Stub
            } else {
                mPolicyVisibilityAfterAnim = false;
                mPolicyVisibility = false;
                // Window is no longer visible -- make sure if we were waiting
                // for it to be displayed before enabling the display, that
                // we allow the display to be enabled now.
                enableScreenIfNeededLocked();
            }
            if (requestAnim) {
                requestAnimationLocked(0);
@@ -10353,6 +10363,10 @@ public class WindowManagerService extends IWindowManager.Stub
                    LocalPowerManager.BUTTON_EVENT, true);
            mTurnOnScreen = false;
        }
        
        // Check to see if we are now in a state where the screen should
        // be enabled, because the window obscured flags have changed.
        enableScreenIfNeededLocked();
    }

    void requestAnimationLocked(long delay) {