Merge "Fix the regression of PiP position in fixed rotation" into tm-qpr-dev

This commit is contained in:
Mateusz Cicheński
2022-11-30 22:03:41 +00:00
committed by Android (Google) Code Review

View File

@@ -612,12 +612,21 @@ public class PipController implements PipTransitionController.PipTransitionCallb
new DisplayInsetsController.OnInsetsChangedListener() {
@Override
public void insetsChanged(InsetsState insetsState) {
DisplayLayout pendingLayout =
mDisplayController.getDisplayLayout(mPipBoundsState.getDisplayId());
if (mIsInFixedRotation
|| pendingLayout.rotation()
!= mPipBoundsState.getDisplayLayout().rotation()) {
// bail out if there is a pending rotation or fixed rotation change
return;
}
int oldMaxMovementBound = mPipBoundsState.getMovementBounds().bottom;
onDisplayChanged(
mDisplayController.getDisplayLayout(mPipBoundsState.getDisplayId()),
false /* saveRestoreSnapFraction */);
int newMaxMovementBound = mPipBoundsState.getMovementBounds().bottom;
if (!mEnablePipKeepClearAlgorithm) {
// offset PiP to adjust for bottom inset change
int pipTop = mPipBoundsState.getBounds().top;
int diff = newMaxMovementBound - oldMaxMovementBound;
if (diff < 0 && pipTop > newMaxMovementBound) {