PiP: Use vertical/horizontal padding base on PiP orientation.
Since not all paddings are created the same, let's respect the correct top/bottom or left/right pair based on PIP orientation. Bug: 187525862 Test: Open vertical PIP, rotate to landscape, maximize PIP - respects maximum space now Change-Id: Ib04ac72328e246302b45fe6630dc01d0c081cfcc
This commit is contained in:
@@ -467,17 +467,20 @@ public class PipTouchHandler {
|
||||
float aspectRatio) {
|
||||
final int shorterLength = Math.min(mPipBoundsState.getDisplayBounds().width(),
|
||||
mPipBoundsState.getDisplayBounds().height());
|
||||
final int totalPadding = insetBounds.left * 2;
|
||||
final int totalHorizontalPadding = insetBounds.left
|
||||
+ (mPipBoundsState.getDisplayBounds().width() - insetBounds.right);
|
||||
final int totalVerticalPadding = insetBounds.top
|
||||
+ (mPipBoundsState.getDisplayBounds().height() - insetBounds.bottom);
|
||||
final int minWidth, minHeight, maxWidth, maxHeight;
|
||||
if (aspectRatio > 1f) {
|
||||
minWidth = (int) Math.min(normalBounds.width(), shorterLength * MINIMUM_SIZE_PERCENT);
|
||||
minHeight = (int) (minWidth / aspectRatio);
|
||||
maxWidth = (int) Math.max(normalBounds.width(), shorterLength - totalPadding);
|
||||
maxWidth = (int) Math.max(normalBounds.width(), shorterLength - totalHorizontalPadding);
|
||||
maxHeight = (int) (maxWidth / aspectRatio);
|
||||
} else {
|
||||
minHeight = (int) Math.min(normalBounds.height(), shorterLength * MINIMUM_SIZE_PERCENT);
|
||||
minWidth = (int) (minHeight * aspectRatio);
|
||||
maxHeight = (int) Math.max(normalBounds.height(), shorterLength - totalPadding);
|
||||
maxHeight = (int) Math.max(normalBounds.height(), shorterLength - totalVerticalPadding);
|
||||
maxWidth = (int) (maxHeight * aspectRatio);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user