Merge "Skip intermediate resizing when running swipe-pip transition" into udc-qpr-dev

This commit is contained in:
Treehugger Robot
2023-08-07 08:01:48 +00:00
committed by Android (Google) Code Review

View File

@@ -799,6 +799,14 @@ public class PipController implements PipTransitionController.PipTransitionCallb
}
private void onDisplayChangedUncheck(DisplayLayout layout, boolean saveRestoreSnapFraction) {
if (mPipTransitionState.getInSwipePipToHomeTransition()) {
// If orientation is changed when performing swipe-pip animation, DisplayLayout has
// been updated in startSwipePipToHome. So it is unnecessary to update again when
// receiving onDisplayConfigurationChanged. This also avoids TouchHandler.userResizeTo
// update surface position in different orientation by the intermediate state. The
// desired resize will be done by the end of transition.
return;
}
Runnable updateDisplayLayout = () -> {
final boolean fromRotation = Transitions.ENABLE_SHELL_TRANSITIONS
&& mPipDisplayLayoutState.getDisplayLayout().rotation() != layout.rotation();