Merge "Avoid double end on PipTransitionAnimator" into udc-dev

This commit is contained in:
Hongwei Wang
2023-05-17 22:25:22 +00:00
committed by Android (Google) Code Review

View File

@@ -328,6 +328,8 @@ public class PipAnimationController {
private PipSurfaceTransactionHelper mSurfaceTransactionHelper;
private @TransitionDirection int mTransitionDirection;
protected PipContentOverlay mContentOverlay;
// Flag to avoid double-end
private boolean mHasRequestedEnd;
private PipTransitionAnimator(TaskInfo taskInfo, SurfaceControl leash,
@AnimationType int animationType,
@@ -357,6 +359,7 @@ public class PipAnimationController {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
if (mHasRequestedEnd) return;
applySurfaceControlTransaction(mLeash,
mSurfaceControlTransactionFactory.getTransaction(),
animation.getAnimatedFraction());
@@ -364,6 +367,8 @@ public class PipAnimationController {
@Override
public void onAnimationEnd(Animator animation) {
if (mHasRequestedEnd) return;
mHasRequestedEnd = true;
mCurrentValue = mEndValue;
final SurfaceControl.Transaction tx =
mSurfaceControlTransactionFactory.getTransaction();