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

Commit 54ede0bf authored by Vinit Nayak's avatar Vinit Nayak
Browse files

Ignore cropping taskbar for top app in split portrait

* See ag/20470413

Bug: 219411750
Test: Swipe up w/ stashed taskbar in portrait.
Thumbnail cutout doesn't appear when dragging to
fullscreen

Change-Id: I5f8279a3d7a1cfe14c6fafaa15307d258a6f2f10
parent dcb27105
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ public class PreviewPositionHelper {
    private boolean mIsOrientationChanged;
    private SplitBounds mSplitBounds;
    private int mDesiredStagePosition;
    private boolean mTaskbarInApp;

    public Matrix getMatrix() {
        return mMatrix;
@@ -57,6 +58,10 @@ public class PreviewPositionHelper {
        mDesiredStagePosition = desiredStagePosition;
    }

    public void setTaskbarInApp(boolean taskbarInApp) {
        mTaskbarInApp = taskbarInApp;
    }

    /**
     * Updates the matrix based on the provided parameters
     */
@@ -83,8 +88,18 @@ public class PreviewPositionHelper {
                        ? mSplitBounds.topTaskPercent
                        : (1 - (mSplitBounds.topTaskPercent + mSplitBounds.dividerHeightPercent));
                // Scale portrait height to that of (actual screen - taskbar inset)
                fullscreenTaskHeight = (screenHeightPx - taskbarSize) * taskPercent;
                fullscreenTaskHeight = (screenHeightPx) * taskPercent;
                if (mTaskbarInApp) {
                    canvasScreenRatio = canvasHeight / fullscreenTaskHeight;
                } else {
                    if (mDesiredStagePosition == STAGE_POSITION_TOP_OR_LEFT) {
                        // Top app isn't cropped at all by taskbar
                        canvasScreenRatio = 0;
                    } else {
                        // Same as fullscreen ratio
                        canvasScreenRatio = (float) canvasWidth / screenWidthPx;
                    }
                }
            } else {
                // For landscape, scale the width
                taskPercent = mDesiredStagePosition == STAGE_POSITION_TOP_OR_LEFT