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:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user