diff options
author | Adam Cohen <adamcohen@google.com> | 2014-01-16 23:05:00 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-01-16 23:05:00 +0000 |
commit | 08101b1f52b2b6aa8ddb82f09a18b91482b99f58 (patch) | |
tree | b4203cd480c4db31d9328224cc3d436d3966eea2 /src | |
parent | e1b0682af062bc85b7328f5c635a21d9ce420d8e (diff) | |
parent | 9c5cc5a8938320c818ed21ce3e3d06fc0eae4245 (diff) | |
download | android_packages_apps_Trebuchet-08101b1f52b2b6aa8ddb82f09a18b91482b99f58.tar.gz android_packages_apps_Trebuchet-08101b1f52b2b6aa8ddb82f09a18b91482b99f58.tar.bz2 android_packages_apps_Trebuchet-08101b1f52b2b6aa8ddb82f09a18b91482b99f58.zip |
Merge "Lazy load the widget preview loader class" into jb-ub-now-kermit
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/AppsCustomizePagedView.java | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/src/com/android/launcher3/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java index 37cdb9e13..49b12b1b1 100644 --- a/src/com/android/launcher3/AppsCustomizePagedView.java +++ b/src/com/android/launcher3/AppsCustomizePagedView.java @@ -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); } -}
\ No newline at end of file +} |