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

Commit 03273d00 authored by Craig Mautner's avatar Craig Mautner
Browse files

Continue animations started from AppWindowToken.

Animations that were started from AppWindowToken.showAllWindowsLocked
were not setting mInnerFields.mAnimating and hence the animations were
not progressing. This resulted in popups such as menus and time/date
settings not showing up.

Fixes bug 6205076.

Change-Id: I4daae5895e64182328671e282331f14dd5561d5e
parent 006f0e41
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -190,14 +190,17 @@ class AppWindowToken extends WindowToken {
        }
    }

    void showAllWindowsLocked() {
    boolean showAllWindowsLocked() {
        boolean isAnimating = false;
        final int NW = allAppWindows.size();
        for (int i=0; i<NW; i++) {
            WindowState w = allAppWindows.get(i);
            if (WindowManagerService.DEBUG_VISIBILITY) Slog.v(WindowManagerService.TAG,
                    "performing show on: " + w);
            w.performShowLocked();
            isAnimating |= w.isAnimating();
        }
        return isAnimating;
    }


+2 −2
Original line number Diff line number Diff line
@@ -7947,7 +7947,7 @@ public class WindowManagerService extends IWindowManager.Stub

                    // We can now show all of the drawn windows!
                    if (!mOpeningApps.contains(wtoken)) {
                        wtoken.showAllWindowsLocked();
                        mInnerFields.mAnimating |= wtoken.showAllWindowsLocked();
                    }
                }
            }
@@ -8131,7 +8131,7 @@ public class WindowManagerService extends IWindowManager.Stub
                        transit, false);
                wtoken.updateReportedVisibilityLocked();
                wtoken.waitingToShow = false;
                wtoken.showAllWindowsLocked();
                mInnerFields.mAnimating |= wtoken.showAllWindowsLocked();
            }
            NN = mClosingApps.size();
            for (i=0; i<NN; i++) {