diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java index 304390d94c933..f0ea4653c245b 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java @@ -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); }