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

Commit d0f5791c authored by Pat Manning's avatar Pat Manning
Browse files

Scale task's rounded corners in grid to match focused task.

- Track scaling during fullscreen progress and joining grid.
- Maintain grid corner scale as it becomes focused task.

Test: manual
Bug: 194194694
Change-Id: Ie05da0d28dc3176095d2bee160a0d83e18ca4011
parent 69fd5cb9
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -296,9 +296,8 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
        }

        float fullScreenProgress = Utilities.boundToRange(this.fullScreenProgress.value, 0, 1);
        mCurrentFullscreenParams.setProgress(
                fullScreenProgress, recentsViewScale.value, /*taskViewScale=*/1f, mTaskRect.width(),
                mDp, mPositionHelper);
        mCurrentFullscreenParams.setProgress(fullScreenProgress, recentsViewScale.value,
                /* taskViewScale= */1f, mTaskRect.width(), mDp, mPositionHelper);

        // Apply thumbnail matrix
        RectF insets = mCurrentFullscreenParams.mCurrentDrawnInsets;
+0 −1
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import static com.android.launcher3.LauncherAnimUtils.VIEW_ALPHA;
import static com.android.launcher3.LauncherState.BACKGROUND_APP;
import static com.android.launcher3.QuickstepTransitionManager.RECENTS_LAUNCH_DURATION;
import static com.android.launcher3.Utilities.EDGE_NAV_BAR;
import static com.android.launcher3.Utilities.boundToRange;
import static com.android.launcher3.Utilities.mapToRange;
import static com.android.launcher3.Utilities.squaredHypot;
import static com.android.launcher3.Utilities.squaredTouchSlop;
+6 −10
Original line number Diff line number Diff line
@@ -1067,7 +1067,6 @@ public class TaskView extends FrameLayout implements Reusable {

    private void setNonGridScale(float nonGridScale) {
        mNonGridScale = nonGridScale;
        updateCornerRadius();
        applyScale();
    }

@@ -1098,6 +1097,7 @@ public class TaskView extends FrameLayout implements Reusable {
        scale *= mDismissScale;
        setScaleX(scale);
        setScaleY(scale);
        updateSnapshotRadius();
    }

    /**
@@ -1413,29 +1413,25 @@ public class TaskView extends FrameLayout implements Reusable {
        mIconView.setVisibility(progress < 1 ? VISIBLE : INVISIBLE);
        mSnapshotView.getTaskOverlay().setFullscreenProgress(progress);

        updateCornerRadius();
        updateSnapshotRadius();

        mSnapshotView.setFullscreenParams(mCurrentFullscreenParams);
        mOutlineProvider.updateParams(
                mCurrentFullscreenParams,
                mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx);
        invalidateOutline();
    }

    private void updateCornerRadius() {
    private void updateSnapshotRadius() {
        updateCurrentFullscreenParams(mSnapshotView.getPreviewPositionHelper());
        mSnapshotView.setFullscreenParams(mCurrentFullscreenParams);
    }

    void updateCurrentFullscreenParams(PreviewPositionHelper previewPositionHelper) {
        if (getRecentsView() == null) {
            return;
        }
        mCurrentFullscreenParams.setProgress(
                mFullscreenProgress,
                getRecentsView().getScaleX(),
                mNonGridScale,
                getWidth(), mActivity.getDeviceProfile(),
                previewPositionHelper);
        mCurrentFullscreenParams.setProgress(mFullscreenProgress, getRecentsView().getScaleX(),
                getScaleX(), getWidth(), mActivity.getDeviceProfile(), previewPositionHelper);
    }

    /**