From d0f5791c84d39a8143450076867fad0a24e0885b Mon Sep 17 00:00:00 2001 From: Pat Manning Date: Wed, 8 Sep 2021 13:57:41 +0000 Subject: [PATCH] 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 --- .../quickstep/util/TaskViewSimulator.java | 5 ++--- .../com/android/quickstep/views/RecentsView.java | 1 - .../com/android/quickstep/views/TaskView.java | 16 ++++++---------- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java index a089e7304c..849a7bcce4 100644 --- a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java +++ b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java @@ -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; diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 8c376440f7..80a1ce424e 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -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; diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index 0e6c0fd318..f5b3419c1f 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -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); } /**