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

Commit fe57103c authored by Winson Chung's avatar Winson Chung
Browse files

Continue with the animation if wallpaper fails to draw

- This is preferable to canceling the animation, which the user just
  interprets as the nav gesture not working, and may fix some cases
  where the user may interpret a swipe up as not working if the wallpaper
  is slow to draw.

Bug: 135536076
Bug: 134091263
Test: atest RecentsAnimationTests
Test: atest RecentsAnimationControllerTests
Change-Id: Icf9ed20971a701a254383c65aa1811a99680ba51
parent 23dcdcef
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER;

import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
import static com.android.server.wm.RecentsAnimationController.REORDER_MOVE_TO_ORIGINAL_POSITION;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_APP_TRANSITIONS;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_SCREENSHOT;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_WALLPAPER;
@@ -612,10 +611,10 @@ class WallpaperController {
            if (DEBUG_APP_TRANSITIONS || DEBUG_WALLPAPER) Slog.v(TAG,
                    "*** WALLPAPER DRAW TIMEOUT");

            // If there was a recents animation in progress, cancel that animation
            // If there was a pending recents animation, start the animation anyways (it's better
            // to not see the wallpaper than for the animation to not start)
            if (mService.getRecentsAnimationController() != null) {
                mService.getRecentsAnimationController().cancelAnimation(
                        REORDER_MOVE_TO_ORIGINAL_POSITION, "wallpaperDrawPendingTimeout");
                mService.getRecentsAnimationController().startAnimation();
            }
            return true;
        }