diff options
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java | 21 |
1 files changed, 7 insertions, 14 deletions
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 f2e250aeb509..9aee95cf9a9f 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 @@ -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); } |