Merge "Fix getWidgetItemSizePx estimation" into sc-v2-dev

This commit is contained in:
TreeHugger Robot 2021-09-27 15:52:33 +00:00 committed by Android (Google) Code Review
commit ac81e8a92a
1 changed files with 16 additions and 4 deletions

View File

@ -17,7 +17,6 @@ package com.android.launcher3.widget.util;
import static android.appwidget.AppWidgetHostView.getDefaultPaddingForWidget;
import android.appwidget.AppWidgetHostView;
import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
@ -87,7 +86,13 @@ public final class WidgetSizes {
}
/**
* Returns the size of a WidgetItem.
* Returns the size of a {@link WidgetItem}.
*
* <p>This size is used by the widget picker. It should NEVER be shared with app widgets.
*
* <p>For sizes shared with app widgets, please refer to
* {@link #getWidgetPaddedSizes(Context, ComponentName, int, int)} &
* {@link #getWidgetPaddedSizePx(Context, ComponentName, DeviceProfile, int, int)}.
*/
public static Size getWidgetItemSizePx(Context context, DeviceProfile profile,
WidgetItem widgetItem) {
@ -96,8 +101,15 @@ public final class WidgetSizes {
.getDimensionPixelSize(R.dimen.widget_preview_shortcut_padding);
return new Size(dimension, dimension);
}
return getWidgetPaddedSizePx(context, widgetItem.componentName, profile, widgetItem.spanX,
widgetItem.spanY);
Size widgetItemSize = getWidgetSizePx(profile, widgetItem.spanX,
widgetItem.spanY, /* recycledCellSize= */ null);
if (profile.shouldInsetWidgets()) {
Rect inset = new Rect();
AppWidgetHostView.getDefaultPaddingForWidget(context, widgetItem.componentName, inset);
return new Size(widgetItemSize.getWidth() + inset.left + inset.right,
widgetItemSize.getHeight() + inset.top + inset.bottom);
}
return widgetItemSize;
}
private static Size getWidgetSizePx(DeviceProfile profile, int spanX, int spanY,