mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Merge "Fix shortcut size calcuation" into sc-dev
This commit is contained in:
@@ -278,7 +278,7 @@ public class AddItemActivity extends BaseActivity
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(WidgetItem item) {
|
||||
mWidgetCell.setPreviewSize(item.spanX, item.spanY);
|
||||
mWidgetCell.setPreviewSize(item);
|
||||
mWidgetCell.applyFromCellItem(item, mApp.getWidgetCache());
|
||||
mWidgetCell.ensurePreview();
|
||||
}
|
||||
|
||||
@@ -209,8 +209,6 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
|
||||
mWidgetPreviewLoader = loader;
|
||||
if (item.activityInfo != null) {
|
||||
setTag(new PendingAddShortcutInfo(item.activityInfo));
|
||||
mPreviewWidth += mShortcutPreviewPadding;
|
||||
mPreviewHeight += mShortcutPreviewPadding;
|
||||
} else {
|
||||
setTag(new PendingAddWidgetInfo(item.widgetInfo, mSourceContainer));
|
||||
}
|
||||
@@ -357,16 +355,14 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
|
||||
}
|
||||
|
||||
/** Sets the widget preview image size in number of cells. */
|
||||
public Size setPreviewSize(int spanX, int spanY) {
|
||||
return setPreviewSize(spanX, spanY, 1f);
|
||||
public Size setPreviewSize(WidgetItem widgetItem) {
|
||||
return setPreviewSize(widgetItem, 1f);
|
||||
}
|
||||
|
||||
/** Sets the widget preview image size, in number of cells, and preview scale. */
|
||||
public Size setPreviewSize(int spanX, int spanY, float previewScale) {
|
||||
public Size setPreviewSize(WidgetItem widgetItem, float previewScale) {
|
||||
DeviceProfile deviceProfile = mActivity.getDeviceProfile();
|
||||
Size widgetSize =
|
||||
mItem != null ? WidgetSizes.getWidgetItemSizePx(getContext(), deviceProfile, mItem)
|
||||
: WidgetSizes.getWidgetSizePx(deviceProfile, spanX, spanY);
|
||||
Size widgetSize = WidgetSizes.getWidgetItemSizePx(getContext(), deviceProfile, widgetItem);
|
||||
mPreviewWidth = widgetSize.getWidth();
|
||||
mPreviewHeight = widgetSize.getHeight();
|
||||
mPreviewScale = previewScale;
|
||||
|
||||
@@ -199,7 +199,7 @@ public class WidgetsBottomSheet extends BaseWidgetSheet {
|
||||
tableRow.setGravity(Gravity.TOP);
|
||||
row.forEach(widgetItem -> {
|
||||
WidgetCell widget = addItemCell(tableRow);
|
||||
widget.setPreviewSize(widgetItem.spanX, widgetItem.spanY);
|
||||
widget.setPreviewSize(widgetItem);
|
||||
widget.applyFromCellItem(widgetItem, LauncherAppState.getInstance(mActivityContext)
|
||||
.getWidgetCache());
|
||||
widget.ensurePreview();
|
||||
|
||||
@@ -120,7 +120,7 @@ public final class WidgetsListTableViewHolderBinder
|
||||
WidgetCell widget = (WidgetCell) row.getChildAt(j);
|
||||
widget.clear();
|
||||
WidgetItem widgetItem = widgetItemsPerRow.get(j);
|
||||
Size previewSize = widget.setPreviewSize(widgetItem.spanX, widgetItem.spanY);
|
||||
Size previewSize = widget.setPreviewSize(widgetItem);
|
||||
widget.applyFromCellItem(widgetItem, mWidgetPreviewLoader);
|
||||
widget.setApplyBitmapDeferred(mApplyBitmapDeferred);
|
||||
Bitmap preview = mWidgetPreviewLoader.getPreview(widgetItem, previewSize);
|
||||
|
||||
@@ -115,7 +115,7 @@ public final class WidgetsRecommendationTableLayout extends TableLayout {
|
||||
|
||||
for (WidgetItem widgetItem : widgetItems) {
|
||||
WidgetCell widgetCell = addItemCell(tableRow);
|
||||
widgetCell.setPreviewSize(widgetItem.spanX, widgetItem.spanY, data.mPreviewScale);
|
||||
widgetCell.setPreviewSize(widgetItem, data.mPreviewScale);
|
||||
widgetCell.applyFromCellItem(widgetItem,
|
||||
LauncherAppState.getInstance(getContext()).getWidgetCache());
|
||||
widgetCell.ensurePreview();
|
||||
|
||||
@@ -32,6 +32,7 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.launcher3.DeviceProfile;
|
||||
import com.android.launcher3.LauncherAppState;
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.model.WidgetItem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -91,7 +92,9 @@ public final class WidgetSizes {
|
||||
public static Size getWidgetItemSizePx(Context context, DeviceProfile profile,
|
||||
WidgetItem widgetItem) {
|
||||
if (widgetItem.isShortcut()) {
|
||||
return getWidgetSizePx(profile, widgetItem.spanX, widgetItem.spanY);
|
||||
int dimension = profile.allAppsIconSizePx + 2 * context.getResources()
|
||||
.getDimensionPixelSize(R.dimen.widget_preview_shortcut_padding);
|
||||
return new Size(dimension, dimension);
|
||||
}
|
||||
return getWidgetPaddedSizePx(context, widgetItem.componentName, profile, widgetItem.spanX,
|
||||
widgetItem.spanY);
|
||||
|
||||
Reference in New Issue
Block a user