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

Commit d127c6d4 authored by Chong Zhang's avatar Chong Zhang
Browse files

Fix bad animation when pressing Home with translucent activity

Force a setAppVisibility if the previous app was translucent, so that
the resumed app is added to the opening app list. Otherwise opening
app list is empty and the transition can't be set up correctly.

bug: 28463843
Change-Id: I7f8e28d0f804c799a429743df6fc501c06d62f21
parent 4ba55dc4
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -2327,8 +2327,20 @@ final class ActivityStack {
            if (DEBUG_SWITCH) Slog.v(TAG_SWITCH, "Resume running: " + next
                    + " stopped=" + next.stopped + " visible=" + next.visible);

            // If the previous activity is translucent, force a visibility update of
            // the next activity, so that it's added to WM's opening app list, and
            // transition animation can be set up properly.
            // For example, pressing Home button with a translucent activity in focus.
            // Launcher is already visible in this case. If we don't add it to opening
            // apps, maybeUpdateTransitToWallpaper() will fail to identify this as a
            // TRANSIT_WALLPAPER_OPEN animation, and run some funny animation.
            final boolean lastActivityTranslucent = lastStack != null
                    && (!lastStack.mFullscreen
                    || (lastStack.mLastPausedActivity != null
                    && !lastStack.mLastPausedActivity.fullscreen));

            // This activity is now becoming visible.
            if (!next.visible || next.stopped) {
            if (!next.visible || next.stopped || lastActivityTranslucent) {
                mWindowManager.setAppVisibility(next.appToken, true);
            }