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

Commit 5f6523cd authored by Jorge Gil's avatar Jorge Gil
Browse files

Revert "Use out pipBounds to save reentry size"

This reverts commit a6e524e1.

Reason for revert: should not use current pipBounds as reentry bounds when the bounds are temporarily expanded due to active menu

Bug: 170748861

Change-Id: I26a2ce4d9fb70db051b941ff09cdb423513b9ffc
parent a6e524e1
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ public class PipController implements Pip, PipTaskOrganizer.PipTransitionCallbac
    private final DisplayInfo mTmpDisplayInfo = new DisplayInfo();
    private final Rect mTmpInsetBounds = new Rect();
    private final Rect mTmpNormalBounds = new Rect();
    protected final Rect mReentryBounds = new Rect();

    private DisplayController mDisplayController;
    private PipAppOpsListener mAppOpsListener;
@@ -395,7 +396,8 @@ public class PipController implements Pip, PipTaskOrganizer.PipTransitionCallbac
    public void onPipTransitionStarted(ComponentName activity, int direction, Rect pipBounds) {
        if (isOutPipDirection(direction)) {
            // Exiting PIP, save the reentry bounds to restore to when re-entering.
            mPipBoundsHandler.onSaveReentryBounds(activity, pipBounds);
            updateReentryBounds(pipBounds);
            mPipBoundsHandler.onSaveReentryBounds(activity, mReentryBounds);
        }
        // Disable touches while the animation is running
        mTouchHandler.setTouchEnabled(false);
@@ -404,6 +406,16 @@ public class PipController implements Pip, PipTaskOrganizer.PipTransitionCallbac
        }
    }

    /**
     * Update the bounds used to save the re-entry size and snap fraction when exiting PIP.
     */
    public void updateReentryBounds(Rect bounds) {
        final Rect reentryBounds = mTouchHandler.getUserResizeBounds();
        float snapFraction = mPipBoundsHandler.getSnapFraction(bounds);
        mPipBoundsHandler.applySnapFraction(reentryBounds, snapFraction);
        mReentryBounds.set(reentryBounds);
    }

    @Override
    public void onPipTransitionFinished(ComponentName activity, int direction) {
        onPipTransitionFinishedOrCanceled(direction);