From 813856ab806b1997d5c487fe6082e03fc337f706 Mon Sep 17 00:00:00 2001 From: Pierre Barbier de Reuille Date: Tue, 27 Apr 2021 22:23:12 +0100 Subject: [PATCH] Correct the preview generation for App Widgets. If the App Widget provider doesn't define a preview, we generate one. We needed to update it to include the correct corner radius and remove the shadow (as Material Next doesn't use shadows). Fix: 184610987 Test: Manually using Youtube Music Change-Id: Id6b88821ab1b406f1c40d94f6c50e133eb7fa808 --- .../android/launcher3/WidgetPreviewLoader.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/WidgetPreviewLoader.java b/src/com/android/launcher3/WidgetPreviewLoader.java index f43452cd65..75d25d7aa3 100644 --- a/src/com/android/launcher3/WidgetPreviewLoader.java +++ b/src/com/android/launcher3/WidgetPreviewLoader.java @@ -457,10 +457,24 @@ public class WidgetPreviewLoader { drawable.setBounds(x, 0, x + previewWidth, previewHeight); drawable.draw(c); } else { - RectF boxRect = drawBoxWithShadow(c, previewWidth, previewHeight); + RectF boxRect; // Draw horizontal and vertical lines to represent individual columns. final Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); + + if (Utilities.ATLEAST_S) { + boxRect = new RectF(/* left= */ 0, /* top= */ 0, /* right= */ + previewWidth, /* bottom= */ previewHeight); + + p.setStyle(Paint.Style.FILL); + p.setColor(Color.WHITE); + float roundedCorner = mContext.getResources().getDimension( + android.R.dimen.system_app_widget_background_radius); + c.drawRoundRect(boxRect, roundedCorner, roundedCorner, p); + } else { + boxRect = drawBoxWithShadow(c, previewWidth, previewHeight); + } + p.setStyle(Paint.Style.STROKE); p.setStrokeWidth(mContext.getResources() .getDimension(R.dimen.widget_preview_cell_divider_width));