summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2012-06-06 11:48:13 -0700
committerThe Android Automerger <android-build@android.com>2012-06-06 16:13:19 -0700
commit56e1d9b56977f8b7a496435b96870f4ba5342a6d (patch)
treef5fbae0658d4029d313797e3863f23844fb949a2
parent1ac3e86eb64de146ebd33673545ee674627e4f0a (diff)
downloadandroid_packages_apps_Trebuchet-56e1d9b56977f8b7a496435b96870f4ba5342a6d.tar.gz
android_packages_apps_Trebuchet-56e1d9b56977f8b7a496435b96870f4ba5342a6d.tar.bz2
android_packages_apps_Trebuchet-56e1d9b56977f8b7a496435b96870f4ba5342a6d.zip
Defer loading widget previews until after All Apps transition
Bug: 6615463
-rw-r--r--src/com/android/launcher2/AppsCustomizePagedView.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 45bb08ac9..ac6ec8800 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<AsyncTaskPageData> mDeferredSyncWidgetPageItems =
new ArrayList<AsyncTaskPageData>();
+ private ArrayList<Runnable> mDeferredPrepareLoadWidgetPreviewsTasks =
+ new ArrayList<Runnable>();
// Used for drawing shortcut previews
BitmapCache mCachedShortcutPreviewBitmap = new BitmapCache();
@@ -944,6 +946,10 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
onSyncWidgetPageItems(d);
}
mDeferredSyncWidgetPageItems.clear();
+ for (Runnable r : mDeferredPrepareLoadWidgetPreviewsTasks) {
+ r.run();
+ }
+ mDeferredPrepareLoadWidgetPreviewsTasks.clear();
mForceDrawAllChildrenNextFrame = !toWorkspace;
}
@@ -1027,6 +1033,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
}
}
mDeferredSyncWidgetPageItems.clear();
+ mDeferredPrepareLoadWidgetPreviewsTasks.clear();
}
public void setContentType(ContentType type) {
@@ -1515,8 +1522,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);
+ }
}
}
});