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

Commit 38736232 authored by Vinit Nayak's avatar Vinit Nayak Committed by Automerger Merge Worker
Browse files

Merge "Improve Split portrait gesture animation" into tm-qpr-dev am: 3f1d8757 am: 425d49fe

parents 1910ca98 425d49fe
Loading
Loading
Loading
Loading
+29 −13
Original line number Diff line number Diff line
@@ -61,26 +61,42 @@ public class PreviewPositionHelper {
     * Updates the matrix based on the provided parameters
     */
    public void updateThumbnailMatrix(Rect thumbnailBounds, ThumbnailData thumbnailData,
            int canvasWidth, int canvasHeight, int screenWidthPx, int taskbarSize, boolean isTablet,
            int canvasWidth, int canvasHeight, int screenWidthPx, int screenHeightPx,
            int taskbarSize, boolean isTablet,
            int currentRotation, boolean isRtl) {
        boolean isRotated = false;
        boolean isOrientationDifferent;

        float fullscreenTaskWidth = screenWidthPx;
        if (mSplitBounds != null && !mSplitBounds.appsStackedVertically) {
        int thumbnailRotation = thumbnailData.rotation;
        int deltaRotate = getRotationDelta(currentRotation, thumbnailRotation);
        RectF thumbnailClipHint = new RectF();

        float scaledTaskbarSize = 0;
        if (mSplitBounds != null) {
            float fullscreenTaskWidth;
            float fullscreenTaskHeight;
            float canvasScreenRatio;

            float taskPercent;
            if (!mSplitBounds.appsStackedVertically) {
                // For landscape, scale the width
            float taskPercent = mDesiredStagePosition == STAGE_POSITION_TOP_OR_LEFT
                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;
                canvasScreenRatio = canvasWidth / fullscreenTaskWidth;
            } else {
                taskPercent = mDesiredStagePosition != STAGE_POSITION_TOP_OR_LEFT
                        ? mSplitBounds.leftTaskPercent
                        : (1 - (mSplitBounds.leftTaskPercent + mSplitBounds.dividerWidthPercent));
                // Scale landscape width to that of actual screen
                fullscreenTaskHeight = screenHeightPx * taskPercent;
                canvasScreenRatio = canvasHeight / fullscreenTaskHeight;
            }
        int thumbnailRotation = thumbnailData.rotation;
        int deltaRotate = getRotationDelta(currentRotation, thumbnailRotation);
        RectF thumbnailClipHint = new RectF();
        float canvasScreenRatio = canvasWidth / fullscreenTaskWidth;
        float scaledTaskbarSize = taskbarSize * canvasScreenRatio;
            scaledTaskbarSize = taskbarSize * canvasScreenRatio;
            thumbnailClipHint.bottom = isTablet ? scaledTaskbarSize : 0;
        }

        float scale = thumbnailData.scale;
        final float thumbnailScale;
+2 −0
Original line number Diff line number Diff line
@@ -148,6 +148,7 @@ constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0

        val currentRotation: Int = display.rotation
        val displayWidthPx = windowMetrics.bounds.width()
        val displayHeightPx = windowMetrics.bounds.height()
        val isRtl = layoutDirection == LAYOUT_DIRECTION_RTL
        val isTablet = isTablet(context)
        val taskbarSize =
@@ -163,6 +164,7 @@ constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
            measuredWidth,
            measuredHeight,
            displayWidthPx,
            displayHeightPx,
            taskbarSize,
            isTablet,
            currentRotation,