Merge "Set mState = mCurrentStableState in onAnimationCancel()" into tm-dev

This commit is contained in:
Tony Wickham
2022-05-11 21:43:51 +00:00
committed by Android (Google) Code Review
2 changed files with 10 additions and 1 deletions
@@ -19,6 +19,8 @@ package com.android.launcher3.anim;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import androidx.annotation.CallSuper;
/**
* Extension of {@link AnimatorListenerAdapter} for listening for non-cancelled animations
*/
@@ -27,6 +29,7 @@ public abstract class AnimationSuccessListener extends AnimatorListenerAdapter {
protected boolean mCancelled = false;
@Override
@CallSuper
public void onAnimationCancel(Animator animation) {
mCancelled = true;
}
@@ -335,7 +335,13 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
@Override
public void onAnimationStart(Animator animation) {
// Change the internal state only when the transition actually starts
onStateTransitionStart(state);
onStateTransitionStart(mCancelled ? mCurrentStableState : state);
}
@Override
public void onAnimationCancel(Animator animation) {
super.onAnimationCancel(animation);
mState = mCurrentStableState;
}
@Override