From f6a9690c3471a8114250f10d8c7c0f22f43ffb8b Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Wed, 6 Jun 2012 11:48:13 -0700 Subject: Defer loading widget previews until after All Apps transition Bug: 6615463 --- src/com/android/launcher2/AppsCustomizePagedView.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index 3a4125510..f12da7d05 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -310,6 +310,8 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen private boolean mInTransition; private ArrayList mDeferredSyncWidgetPageItems = new ArrayList(); + private ArrayList mDeferredPrepareLoadWidgetPreviewsTasks = + new ArrayList(); // Used for drawing shortcut previews BitmapCache mCachedShortcutPreviewBitmap = new BitmapCache(); @@ -940,6 +942,10 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen onSyncWidgetPageItems(d); } mDeferredSyncWidgetPageItems.clear(); + for (Runnable r : mDeferredPrepareLoadWidgetPreviewsTasks) { + r.run(); + } + mDeferredPrepareLoadWidgetPreviewsTasks.clear(); mForceDrawAllChildrenNextFrame = !toWorkspace; } @@ -1023,6 +1029,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen } } mDeferredSyncWidgetPageItems.clear(); + mDeferredPrepareLoadWidgetPreviewsTasks.clear(); } public void setContentType(ContentType type) { @@ -1511,8 +1518,12 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen loadWidgetPreviewsInBackground(null, data); onSyncWidgetPageItems(data); } else { - prepareLoadWidgetPreviewsTask(page, items, - maxPreviewWidth, maxPreviewHeight, mWidgetCountX); + if (mInTransition) { + mDeferredPrepareLoadWidgetPreviewsTasks.add(this); + } else { + prepareLoadWidgetPreviewsTask(page, items, + maxPreviewWidth, maxPreviewHeight, mWidgetCountX); + } } } }); -- cgit v1.2.3