Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d35999a9 authored by Nikolas Havrikov's avatar Nikolas Havrikov
Browse files

Make the PipManager remember custom aspect ratios

Currently, the PipManager always reverts any pip window to the
preconfigured default size and position after any movement (e.g. pip
menu dismissal, or keyboard dismissal).

This does not take into account that a specific aspect ratio might have
been set in the PictureInPictureParams.

This change leverages the already correct calculation from the
PipBoundsHandler to update the default and current pip bounds kept by
the PipManager.

Bug: 163787014
Test: atest CtsSystemUiTestCases:BasicPipTests
Change-Id: I74829d95bc3ef06e6962020d5a56998128ec3640
parent f8a142cb
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -141,7 +141,6 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
    // Used to calculate the movement bounds
    private final DisplayInfo mTmpDisplayInfo = new DisplayInfo();
    private final Rect mTmpInsetBounds = new Rect();
    private final Rect mTmpNormalBounds = new Rect();

    // Keeps track of the IME visibility to adjust the PiP when the IME is visible
    private boolean mImeVisible;
@@ -215,10 +214,8 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
        public void onMovementBoundsChanged(boolean fromImeAdjustment) {
            mHandler.post(() -> {
                // Populate the inset / normal bounds and DisplayInfo from mPipBoundsHandler first.
                final Rect destinationBounds = new Rect();
                mPipBoundsHandler.onMovementBoundsChanged(mTmpInsetBounds, mTmpNormalBounds,
                        destinationBounds, mTmpDisplayInfo);
                mDefaultPipBounds.set(destinationBounds);
                mPipBoundsHandler.onMovementBoundsChanged(mTmpInsetBounds, mPipBounds,
                        mDefaultPipBounds, mTmpDisplayInfo);
            });
        }