diff --git a/quickstep/src/com/android/quickstep/views/DesktopTaskView.java b/quickstep/src/com/android/quickstep/views/DesktopTaskView.java index 1cfaf14224..83e99459ac 100644 --- a/quickstep/src/com/android/quickstep/views/DesktopTaskView.java +++ b/quickstep/src/com/android/quickstep/views/DesktopTaskView.java @@ -51,6 +51,7 @@ import com.android.quickstep.util.CancellableTask; import com.android.quickstep.util.RecentsOrientedState; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.recents.model.ThumbnailData; +import com.android.systemui.shared.system.QuickStepContract; import java.util.ArrayList; import java.util.Arrays; @@ -79,7 +80,7 @@ public class DesktopTaskView extends TaskView { private static final String TAG = DesktopTaskView.class.getSimpleName(); - private static final boolean DEBUG = true; + private static final boolean DEBUG = false; @NonNull private List mTasks = new ArrayList<>(); @@ -91,6 +92,8 @@ public class DesktopTaskView extends TaskView { private final ArrayList> mPendingThumbnailRequests = new ArrayList<>(); + private final TaskView.FullscreenDrawParams mSnapshotDrawParams; + private View mBackgroundView; public DesktopTaskView(Context context) { @@ -103,6 +106,10 @@ public class DesktopTaskView extends TaskView { public DesktopTaskView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); + + mSnapshotDrawParams = new FullscreenDrawParams( + QuickStepContract.getWindowCornerRadius(context), + QuickStepContract.getWindowCornerRadius(context)); } @Override @@ -465,14 +472,20 @@ public class DesktopTaskView extends TaskView { for (int i = 0; i < mSnapshotViewMap.size(); i++) { TaskThumbnailView thumbnailView = mSnapshotViewMap.valueAt(i); thumbnailView.getTaskOverlay().setFullscreenProgress(progress); - updateSnapshotRadius(); } + updateSnapshotRadius(); } @Override protected void updateSnapshotRadius() { + super.updateSnapshotRadius(); for (int i = 0; i < mSnapshotViewMap.size(); i++) { - mSnapshotViewMap.valueAt(i).setFullscreenParams(mCurrentFullscreenParams); + if (i == 0) { + // All snapshots share the same params. Only update it with the first snapshot. + updateFullscreenParams(mSnapshotDrawParams, + mSnapshotView.getPreviewPositionHelper()); + } + mSnapshotViewMap.valueAt(i).setFullscreenParams(mSnapshotDrawParams); } } diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index 6b0843ccf5..854c3c7218 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -1707,10 +1707,15 @@ public class TaskView extends FrameLayout implements Reusable { } void updateCurrentFullscreenParams(PreviewPositionHelper previewPositionHelper) { + updateFullscreenParams(mCurrentFullscreenParams, previewPositionHelper); + } + + protected void updateFullscreenParams(TaskView.FullscreenDrawParams fullscreenParams, + PreviewPositionHelper previewPositionHelper) { if (getRecentsView() == null) { return; } - mCurrentFullscreenParams.setProgress(mFullscreenProgress, getRecentsView().getScaleX(), + fullscreenParams.setProgress(mFullscreenProgress, getRecentsView().getScaleX(), getScaleX(), getWidth(), mActivity.getDeviceProfile(), previewPositionHelper); } @@ -1860,9 +1865,12 @@ public class TaskView extends FrameLayout implements Reusable { public float mCurrentDrawnCornerRadius; public FullscreenDrawParams(Context context) { - mCornerRadius = TaskCornerRadius.get(context); - mWindowCornerRadius = QuickStepContract.getWindowCornerRadius(context); + this(TaskCornerRadius.get(context), QuickStepContract.getWindowCornerRadius(context)); + } + FullscreenDrawParams(float cornerRadius, float windowCornerRadius) { + mCornerRadius = cornerRadius; + mWindowCornerRadius = windowCornerRadius; mCurrentDrawnCornerRadius = mCornerRadius; }