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
This commit is contained in:
Pat Manning
2021-09-09 10:14:05 +00:00
parent 69fd5cb959
commit d0f5791c84
3 changed files with 8 additions and 14 deletions
@@ -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;
@@ -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;
@@ -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);
}
/**