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

Commit 75ee409b authored by Jonathan Miranda's avatar Jonathan Miranda Committed by Android (Google) Code Review
Browse files

Merge "Track overview animation as atomic animation." into ub-launcher3-master

parents 01372013 892667cd
Loading
Loading
Loading
Loading
+22 −3
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import android.view.ViewConfiguration;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherAppTransitionManagerImpl;
import com.android.launcher3.LauncherState;
import com.android.launcher3.anim.AnimationSuccessListener;
import com.android.launcher3.anim.AnimatorSetBuilder;
import com.android.launcher3.anim.Interpolators;
import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Touch;
@@ -87,6 +88,10 @@ public class FlingAndHoldTouchController extends PortraitStatesTouchController {
        if (handlingOverviewAnim()) {
            mMotionPauseDetector.setOnMotionPauseListener(this::onMotionPauseChanged);
        }

        if (mAtomicAnim != null) {
            mAtomicAnim.cancel();
        }
    }

    protected void onMotionPauseChanged(boolean isPaused) {
@@ -193,13 +198,27 @@ public class FlingAndHoldTouchController extends PortraitStatesTouchController {

        Animator overviewAnim = mLauncher.getAppTransitionManager().createStateElementAnimation(
                INDEX_PAUSE_TO_OVERVIEW_ANIM);
        overviewAnim.addListener(new AnimatorListenerAdapter() {
        mAtomicAnim = new AnimatorSet();
        mAtomicAnim.addListener(new AnimationSuccessListener() {
            @Override
            public void onAnimationEnd(Animator animation) {
            public void onAnimationSuccess(Animator animator) {
                onSwipeInteractionCompleted(OVERVIEW, Touch.SWIPE);
            }

            @Override
            public void onAnimationEnd(Animator animation) {
                super.onAnimationEnd(animation);
                if (mCancelled) {
                    mPeekAnim = mLauncher.getStateManager().createAtomicAnimation(mFromState,
                            mToState, new AnimatorSetBuilder(), ATOMIC_OVERVIEW_PEEK_COMPONENT,
                            PEEK_OUT_ANIM_DURATION);
                    mPeekAnim.start();
                }
                mAtomicAnim = null;
            }
        });
        overviewAnim.start();
        mAtomicAnim.play(overviewAnim);
        mAtomicAnim.start();
    }

    @Override