[DO NOT MERGE] Make the cutout slightly smaller

Temporary fix for S. Leaving the bug open for a proper fix in T.

Since we reverted the z order back (launcher on top), we should apply this fix from S and find a proper solution in T

Bug: 189265196
Test: https://screenshot.googleplex.com/75fgCva736rqwg5
Change-Id: Ice3b189a41f759e090334e360e44543eabc4836d
(cherry picked from commit 26f47c711a)
This commit is contained in:
Tracy Zhou
2021-06-23 15:16:39 -07:00
parent ed05712f04
commit bb594548bb
2 changed files with 15 additions and 2 deletions
@@ -19,6 +19,7 @@ package com.android.quickstep.views;
import static android.view.WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS;
import static android.view.WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS;
import static com.android.launcher3.Utilities.comp;
import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE;
import static com.android.systemui.shared.system.WindowManagerWrapper.WINDOWING_MODE_FULLSCREEN;
@@ -290,8 +291,17 @@ public class TaskThumbnailView extends View {
float cornerRadius) {
if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
if (mTask != null && getTaskView().isRunningTask() && !getTaskView().showScreenshot()) {
canvas.drawRoundRect(x, y, width, height, cornerRadius, cornerRadius, mClearPaint);
canvas.drawRoundRect(x, y, width, height, cornerRadius, cornerRadius,
// TODO(b/189265196): Temporary fix to align the surface with the cutout perfectly.
// Round up only when the live tile task is displayed in Overview.
float rounding = comp(mFullscreenParams.mFullscreenProgress);
float left = x + rounding / 2;
float top = y + rounding / 2;
float right = width - rounding;
float bottom = height - rounding;
canvas.drawRoundRect(left, top, right, bottom, cornerRadius, cornerRadius,
mClearPaint);
canvas.drawRoundRect(left, top, right, bottom, cornerRadius, cornerRadius,
mDimmingPaintAfterClearing);
return;
}
@@ -1531,6 +1531,7 @@ public class TaskView extends FrameLayout implements Reusable {
private final float mCornerRadius;
private final float mWindowCornerRadius;
public float mFullscreenProgress;
public RectF mCurrentDrawnInsets = new RectF();
public float mCurrentDrawnCornerRadius;
/** The current scale we apply to the thumbnail to adjust for new left/right insets. */
@@ -1548,6 +1549,8 @@ public class TaskView extends FrameLayout implements Reusable {
*/
public void setProgress(float fullscreenProgress, float parentScale, float taskViewScale,
int previewWidth, DeviceProfile dp, PreviewPositionHelper pph) {
mFullscreenProgress = fullscreenProgress;
RectF insets = pph.getInsetsToDrawInFullscreen(dp);
float currentInsetsLeft = insets.left * fullscreenProgress;