Merge "Skip finishResize for non-exit animation if PIP is about to exit" into sc-dev am: 29a2e2480a

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

Change-Id: I60eee494cea40c51e01fb6449ce57babf7cc4721
This commit is contained in:
Jorge Gil
2021-05-17 17:36:35 +00:00
committed by Automerger Merge Worker

View File

@@ -185,8 +185,16 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
mDeferredAnimEndTransaction = tx;
return;
}
finishResize(tx, destinationBounds, direction, animationType);
sendOnPipTransitionFinished(direction);
if (mState != State.EXITING_PIP || direction == TRANSITION_DIRECTION_LEAVE_PIP) {
// Finish resize as long as we're not exiting PIP, or, if we are, only if this is
// the end of the leave PIP animation.
// This is necessary in case there was a resize animation ongoing when exit PIP
// started, in which case the first resize will be skipped to let the exit
// operation handle the final resize out of PIP mode. See b/185306679.
finishResize(tx, destinationBounds, direction, animationType);
sendOnPipTransitionFinished(direction);
}
if (direction == TRANSITION_DIRECTION_TO_PIP) {
// TODO (b//169221267): Add jank listener for transactions without buffer updates.
//InteractionJankMonitor.getInstance().end(