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

Commit f6bd7f81 authored by Jorge Gil's avatar Jorge Gil Committed by Automerger Merge Worker
Browse files

Merge "Expand PIP to the normal size when menu actions don't fit" into sc-dev am: 37c32978

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14668168

Change-Id: I1f1e15411a8c9608e355b4d42878ded605381fa2
parents d939d3b4 37c32978
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -667,7 +667,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
@@ -721,22 +723,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);
    }