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

Commit 252f5173 authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Do not trigger move animation during PiP transition

When PiP is transiting to fullscreen mode, we set the activity windowing
mode to fullscreen at the beginning and keep the task windowing mode in
pinned mode. The hasMovementAnimation assertion should take that into
account.

Bug: 164101597
Bug: 159679271
Bug: 164321517
Video: http://rcll/aaaaaabFQoRHlzixHdtY/blXkl5mJF9lDto9RtnYcV2
Test: See video
Change-Id: I4d887d8d2f0deab3405fd3dd38b01c3649bb51df
parent 3743d552
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -2051,10 +2051,17 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        // animating... let's do something.
        final int left = mWindowFrames.mFrame.left;
        final int top = mWindowFrames.mFrame.top;

        // During the transition from pip to fullscreen, the activity windowing mode is set to
        // fullscreen at the beginning while the task is kept in pinned mode. Skip the move
        // animation in such case since the transition is handled in SysUI.
        final boolean hasMovementAnimation = getTask() == null
                ? getWindowConfiguration().hasMovementAnimations()
                : getTask().getWindowConfiguration().hasMovementAnimations();
        if (mToken.okToAnimate()
                && (mAttrs.privateFlags & PRIVATE_FLAG_NO_MOVE_ANIMATION) == 0
                && !isDragResizing()
                && getWindowConfiguration().hasMovementAnimations()
                && hasMovementAnimation
                && !mWinAnimator.mLastHidden
                && !mSeamlesslyRotated) {
            startMoveAnimation(left, top);