From 5ee8b330dc78a942e6e8e290ee790e5995945486 Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Fri, 23 Apr 2021 12:45:44 +0100 Subject: [PATCH] Fix recommended widget table height calculation Include the widget preview padding in the height calculation Test: Run AddWidgetTest Bug: 186138174 Change-Id: Iebb7ebb6ba1c6fc527ba94440bc16f84f63017b4 --- .../widget/picker/WidgetsRecommendationTableLayout.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/widget/picker/WidgetsRecommendationTableLayout.java b/src/com/android/launcher3/widget/picker/WidgetsRecommendationTableLayout.java index 1aefe41f7b..18f1be3c90 100644 --- a/src/com/android/launcher3/widget/picker/WidgetsRecommendationTableLayout.java +++ b/src/com/android/launcher3/widget/picker/WidgetsRecommendationTableLayout.java @@ -43,6 +43,7 @@ public final class WidgetsRecommendationTableLayout extends TableLayout { private static final float DOWN_SCALE_RATIO = 0.9f; private static final float MAX_DOWN_SCALE_RATIO = 0.5f; private final float mWidgetCellTextViewsHeight; + private final float mWidgetPreviewPadding; private float mRecommendationTableMaxHeight = Float.MAX_VALUE; @Nullable private OnLongClickListener mWidgetCellOnLongClickListener; @@ -57,6 +58,8 @@ public final class WidgetsRecommendationTableLayout extends TableLayout { super(context, attrs); // There are 1 row for title, 1 row for dimension and 2 rows for description. mWidgetCellTextViewsHeight = 4 * getResources().getDimension(R.dimen.widget_cell_font_size); + mWidgetPreviewPadding = 2 * getResources() + .getDimensionPixelSize(R.dimen.widget_preview_shortcut_padding); } /** Sets a {@link android.view.View.OnLongClickListener} for all widget cells in this table. */ @@ -147,7 +150,7 @@ public final class WidgetsRecommendationTableLayout extends TableLayout { float rowHeight = 0; for (int j = 0; j < widgetItems.size(); j++) { float previewHeight = widgetItems.get(j).spanY * deviceProfile.cellHeightPx - * previewScale; + * previewScale + mWidgetPreviewPadding; rowHeight = Math.max(rowHeight, previewHeight + mWidgetCellTextViewsHeight); } totalHeight += rowHeight;