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

Commit ae265319 authored by Tracy Zhou's avatar Tracy Zhou Committed by android-build-merger
Browse files

Merge "Fix the logic of canceling previous scheduled fade in animation." into qt-dev am: 289583ec

am: d1f08c58

Change-Id: I3cba1af18738eef9f364148d9c6c1352b0972b3b
parents b9065d1e d1f08c58
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -410,7 +410,7 @@ public class BoundsAnimationController {
        @VisibleForTesting
        boolean animatingToLargerSize() {
            // TODO: Fix this check for aspect ratio changes
            return (mFrom.width() * mFrom.height() <= mTo.width() * mTo.height());
            return (mFrom.width() * mFrom.height() < mTo.width() * mTo.height());
        }

        @Override
@@ -453,17 +453,11 @@ public class BoundsAnimationController {
            boolean moveFromFullscreen, boolean moveToFullscreen,
            @AnimationType int animationType) {
        final BoundsAnimator existing = mRunningAnimations.get(target);
        // animateBoundsImpl gets called twice for each animation. The second time we get the final
        // to rect that respects the shelf, which is when we want to resize. Our signal for fade in
        // comes in from how to enter into pip, but we also need to use the to and from rect to
        // decide which animation we want to run finally.
        boolean shouldResize = false;
        if (isRunningFadeInAnimation(target)) {
            shouldResize = true;
            if (from.contains(to)) {

        if (isRunningFadeInAnimation(target) && from.width() == to.width()
                && from.height() == to.height()) {
            animationType = FADE_IN;
        }
        }
        final boolean replacing = existing != null;
        @SchedulePipModeChangedState int prevSchedulePipModeChangedState =
                NO_PIP_MODE_CHANGED_CALLBACKS;
@@ -523,9 +517,10 @@ public class BoundsAnimationController {
            // Since we are replacing, we skip both animation start and end callbacks
            existing.cancel();
        }
        if (shouldResize) {
        if (animationType == FADE_IN) {
            target.setPinnedStackSize(to, null);
        }

        final BoundsAnimator animator = new BoundsAnimator(target, animationType, from, to,
                schedulePipModeChangedState, prevSchedulePipModeChangedState,
                moveFromFullscreen, moveToFullscreen, frozenTask);