summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2014-01-09 14:59:22 +0100
committerMichael Jurka <mikejurka@google.com>2014-01-16 13:34:55 +0100
commit9c5cc5a8938320c818ed21ce3e3d06fc0eae4245 (patch)
treea5aef2620fc655ffd2a574d37d4574b7ec0b24cb /src/com/android
parent872e70e0b648af572f660c2b432786ac63545e4c (diff)
downloadandroid_packages_apps_Trebuchet-9c5cc5a8938320c818ed21ce3e3d06fc0eae4245.tar.gz
android_packages_apps_Trebuchet-9c5cc5a8938320c818ed21ce3e3d06fc0eae4245.tar.bz2
android_packages_apps_Trebuchet-9c5cc5a8938320c818ed21ce3e3d06fc0eae4245.zip
Lazy load the widget preview loader class
Bug: 12109621 Change-Id: Id99aded30195bf39ebcf2148611bc4e084f3b2c7
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/launcher3/AppsCustomizePagedView.java27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/com/android/launcher3/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java
index 2865bc5d5..f90189ced 100644
--- a/src/com/android/launcher3/AppsCustomizePagedView.java
+++ b/src/com/android/launcher3/AppsCustomizePagedView.java
@@ -301,6 +301,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() {
@@ -366,10 +373,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();
@@ -729,13 +732,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
@@ -1149,7 +1152,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,
@@ -1210,7 +1213,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) {
@@ -1220,7 +1223,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);
@@ -1257,11 +1260,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 {
@@ -1298,7 +1301,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
task.syncThreadPriority();
}
- images.add(mWidgetPreviewLoader.getPreview(items.get(i)));
+ images.add(getWidgetPreviewLoader().getPreview(items.get(i)));
}
}