Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b0748625 authored by Ben Lin's avatar Ben Lin
Browse files

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
parent 0e05cb9d
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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);
        }