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

Commit 04cd6571 authored by Pat Manning's avatar Pat Manning Committed by Android (Google) Code Review
Browse files

Merge "Prevent top app thumbnail cropping by taskbar in split overview." into tm-qpr-dev

parents 8d6cb658 ca60c81f
Loading
Loading
Loading
Loading
+7 −25
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ public class PreviewPositionHelper {
    private boolean mIsOrientationChanged;
    private SplitBounds mSplitBounds;
    private int mDesiredStagePosition;
    private boolean mTaskbarInApp;

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

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

    /**
     * Updates the matrix based on the provided parameters
     */
@@ -79,19 +74,7 @@ public class PreviewPositionHelper {
        float scaledTaskbarSize;
        float canvasScreenRatio;
        if (mSplitBounds != null) {
            float fullscreenTaskWidth;
            float fullscreenTaskHeight;

            float taskPercent;
            if (mSplitBounds.appsStackedVertically) {
                taskPercent = mDesiredStagePosition != STAGE_POSITION_TOP_OR_LEFT
                        ? mSplitBounds.topTaskPercent
                        : (1 - (mSplitBounds.topTaskPercent + mSplitBounds.dividerHeightPercent));
                // Scale portrait height to that of the actual screen
                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;
@@ -99,14 +82,13 @@ public class PreviewPositionHelper {
                    // Same as fullscreen ratio
                    canvasScreenRatio = (float) canvasWidth / screenWidthPx;
                }
                }
            } else {
                // For landscape, scale the width
                taskPercent = mDesiredStagePosition == STAGE_POSITION_TOP_OR_LEFT
                float taskPercent = mDesiredStagePosition == STAGE_POSITION_TOP_OR_LEFT
                        ? mSplitBounds.leftTaskPercent
                        : (1 - (mSplitBounds.leftTaskPercent + mSplitBounds.dividerWidthPercent));
                // Scale landscape width to that of actual screen
                fullscreenTaskWidth = screenWidthPx * taskPercent;
                float fullscreenTaskWidth = screenWidthPx * taskPercent;
                canvasScreenRatio = canvasWidth / fullscreenTaskWidth;
            }
        } else {