Fix reporting of window visibility in WindowManagerService.

WindowManagerService (WMS) can wrongly report windows visibility due
to wrong handling of "starting windows".
"Starting windows" are special temporary windows that are displayed
while the application is starting.
Sometimes "starting windows" are considered when checking visibility
what leads to not reported or wrongly reported visibility status.
If visibility is not reported correctly some internal flows are
not executed and WMS internal state can be wrong.
This commit is contained in:
Maciej Białka
2010-03-24 10:20:52 +01:00
committed by Johan Redestig
parent 7bb2581e6f
commit 3779dd12b0

View File

@@ -8520,7 +8520,8 @@ public class WindowManagerService extends IWindowManager.Stub
final int N = allAppWindows.size();
for (int i=0; i<N; i++) {
WindowState win = allAppWindows.get(i);
if (win == startingWindow || win.mAppFreezing) {
if (win == startingWindow || win.mAppFreezing
|| win.mAttrs.type == TYPE_APPLICATION_STARTING) {
continue;
}
if (DEBUG_VISIBILITY) {