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
This commit is contained in:
Dianne Hackborn
2009-12-09 18:26:21 -08:00
parent 57ce0888fc
commit f3bea9cb75

View File

@@ -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) {