mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 09:56:49 +00:00
Merge "Lazy load the widget preview loader class" into jb-ub-now-kermit
This commit is contained in:
@@ -299,6 +299,13 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
mPageLayoutPaddingBottom = pageIndicatorHeight;
|
||||
}
|
||||
|
||||
WidgetPreviewLoader getWidgetPreviewLoader() {
|
||||
if (mWidgetPreviewLoader == null) {
|
||||
mWidgetPreviewLoader = new WidgetPreviewLoader(mLauncher);
|
||||
}
|
||||
return mWidgetPreviewLoader;
|
||||
}
|
||||
|
||||
/** Returns the item index of the center item on this page so that we can restore to this
|
||||
* item index when we rotate. */
|
||||
private int getMiddleComponentIndexOnCurrentPage() {
|
||||
@@ -364,10 +371,6 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
}
|
||||
|
||||
protected void onDataReady(int width, int height) {
|
||||
if (mWidgetPreviewLoader == null) {
|
||||
mWidgetPreviewLoader = new WidgetPreviewLoader(mLauncher);
|
||||
}
|
||||
|
||||
// Now that the data is ready, we can calculate the content width, the number of cells to
|
||||
// use for each page
|
||||
LauncherAppState app = LauncherAppState.getInstance();
|
||||
@@ -727,13 +730,13 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
|
||||
int[] previewSizeBeforeScale = new int[1];
|
||||
|
||||
preview = mWidgetPreviewLoader.generateWidgetPreview(createWidgetInfo.componentName,
|
||||
preview = getWidgetPreviewLoader().generateWidgetPreview(createWidgetInfo.componentName,
|
||||
createWidgetInfo.previewImage, createWidgetInfo.icon, spanX, spanY,
|
||||
maxWidth, maxHeight, null, previewSizeBeforeScale);
|
||||
|
||||
// Compare the size of the drag preview to the preview in the AppsCustomize tray
|
||||
int previewWidthInAppsCustomize = Math.min(previewSizeBeforeScale[0],
|
||||
mWidgetPreviewLoader.maxWidthForWidgetPreview(spanX));
|
||||
getWidgetPreviewLoader().maxWidthForWidgetPreview(spanX));
|
||||
scale = previewWidthInAppsCustomize / (float) preview.getWidth();
|
||||
|
||||
// The bitmap in the AppsCustomize tray is always the the same size, so there
|
||||
@@ -1147,7 +1150,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
// do cleanup inside onSyncWidgetPageItems
|
||||
onSyncWidgetPageItems(data, false);
|
||||
}
|
||||
}, mWidgetPreviewLoader);
|
||||
}, getWidgetPreviewLoader());
|
||||
|
||||
// Ensure that the task is appropriately prioritized and runs in parallel
|
||||
AppsCustomizeAsyncTask t = new AppsCustomizeAsyncTask(page,
|
||||
@@ -1208,7 +1211,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
createItemInfo.minSpanX = minSpanXY[0];
|
||||
createItemInfo.minSpanY = minSpanXY[1];
|
||||
|
||||
widget.applyFromAppWidgetProviderInfo(info, -1, spanXY, mWidgetPreviewLoader);
|
||||
widget.applyFromAppWidgetProviderInfo(info, -1, spanXY, getWidgetPreviewLoader());
|
||||
widget.setTag(createItemInfo);
|
||||
widget.setShortPressListener(this);
|
||||
} else if (rawInfo instanceof ResolveInfo) {
|
||||
@@ -1218,7 +1221,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
createItemInfo.itemType = LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT;
|
||||
createItemInfo.componentName = new ComponentName(info.activityInfo.packageName,
|
||||
info.activityInfo.name);
|
||||
widget.applyFromResolveInfo(mPackageManager, info, mWidgetPreviewLoader);
|
||||
widget.applyFromResolveInfo(mPackageManager, info, getWidgetPreviewLoader());
|
||||
widget.setTag(createItemInfo);
|
||||
}
|
||||
widget.setOnClickListener(this);
|
||||
@@ -1255,11 +1258,11 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
maxPreviewHeight = maxSize[1];
|
||||
}
|
||||
|
||||
mWidgetPreviewLoader.setPreviewSize(
|
||||
getWidgetPreviewLoader().setPreviewSize(
|
||||
maxPreviewWidth, maxPreviewHeight, mWidgetSpacingLayout);
|
||||
if (immediate) {
|
||||
AsyncTaskPageData data = new AsyncTaskPageData(page, items,
|
||||
maxPreviewWidth, maxPreviewHeight, null, null, mWidgetPreviewLoader);
|
||||
maxPreviewWidth, maxPreviewHeight, null, null, getWidgetPreviewLoader());
|
||||
loadWidgetPreviewsInBackground(null, data);
|
||||
onSyncWidgetPageItems(data, immediate);
|
||||
} else {
|
||||
@@ -1296,7 +1299,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
task.syncThreadPriority();
|
||||
}
|
||||
|
||||
images.add(mWidgetPreviewLoader.getPreview(items.get(i)));
|
||||
images.add(getWidgetPreviewLoader().getPreview(items.get(i)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1725,4 +1728,4 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
|
||||
return String.format(getContext().getString(stringId), page + 1, count);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user