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

Commit 553bfd91 authored by jorgegil@google.com's avatar jorgegil@google.com
Browse files

Expand PIP to the normal size when menu actions don't fit

Instead of resizing to bounds larger than the default size
when the menu is shown, resize to the normal/default bounds
instead.
Also, remove the unused animateToMinimizedState() method.

Bug: 184789365
Test: enter PIP, pinch resize to min size, tap to poke menu -
verify that PIP expands to the default size

Change-Id: Ib0d7780fce2ec9157fb0f533d67b175ce699f40b
parent a025621b
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -666,7 +666,9 @@ public class PipTouchHandler {
            // we store back to this snap fraction.  Otherwise, we'll reset the snap
            // fraction and snap to the closest edge.
            if (resize) {
                animateToExpandedState(callback);
                // PIP is too small to show the menu actions and thus needs to be resized to a
                // size that can fit them all. Resize to the default size.
                animateToNormalSize(callback);
            }
        } else if (menuState == MENU_STATE_NONE && mMenuState == MENU_STATE_FULL) {
            // Try and restore the PiP to the closest edge, using the saved snap fraction
@@ -720,22 +722,13 @@ public class PipTouchHandler {
                callback);
    }

    private void animateToMinimizedState() {
        animateToUnexpandedState(new Rect(0, 0, mPipBoundsState.getMinSize().x,
                mPipBoundsState.getMinSize().y));
    }

    private void animateToExpandedState(Runnable callback) {
    private void animateToNormalSize(Runnable callback) {
        mPipResizeGestureHandler.setUserResizeBounds(mPipBoundsState.getBounds());
        final Rect currentBounds = mPipBoundsState.getBounds();
        final Rect expandedBounds = mPipBoundsState.getExpandedBounds();
        Rect finalExpandedBounds = new Rect(expandedBounds.width() > expandedBounds.width()
                        && expandedBounds.height() > expandedBounds.height()
                        ? currentBounds : expandedBounds);
        final Rect normalBounds = new Rect(mPipBoundsState.getNormalBounds());
        Rect restoredMovementBounds = new Rect();
        mPipBoundsAlgorithm.getMovementBounds(finalExpandedBounds,
        mPipBoundsAlgorithm.getMovementBounds(normalBounds,
                mInsetBounds, restoredMovementBounds, mIsImeShowing ? mImeHeight : 0);
        mSavedSnapFraction = mMotionHelper.animateToExpandedState(finalExpandedBounds,
        mSavedSnapFraction = mMotionHelper.animateToExpandedState(normalBounds,
                mPipBoundsState.getMovementBounds(), restoredMovementBounds, callback);
    }