Merge "Fix flickering when cancel cross activity animation." into udc-qpr-dev am: 672de42998 am: 4f743e5834

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24397717

Change-Id: I7be16680e265ac4f84f4f9d9e23d58a479c0bba1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Wei Sheng Shih
2023-08-14 11:44:40 +00:00
committed by Automerger Merge Worker

View File

@@ -379,7 +379,15 @@ public class CrossActivityAnimation extends ShellBackAnimation {
@Override
public void onBackCancelled() {
mProgressAnimator.onBackCancelled(CrossActivityAnimation.this::finishAnimation);
mProgressAnimator.onBackCancelled(() -> {
// mProgressAnimator can reach finish stage earlier than mLeavingProgressSpring,
// and if we release all animation leash first, the leavingProgressSpring won't
// able to update the animation anymore, which cause flicker.
// Here should force update the closing animation target to the final stage before
// release it.
setLeavingProgress(0);
finishAnimation();
});
}
@Override