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
This commit is contained in:
jorgegil@google.com
2021-05-20 13:26:55 -07:00
parent a025621bcd
commit 553bfd9161

View File

@@ -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);
}