From 7f0acdde9679eb545abb8bc5373e1938c420bf63 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Mon, 19 Sep 2011 18:34:19 -0700 Subject: [PATCH] Deferring create hardware layers until we load widget pages. (5330412) Change-Id: Ia1b5e3ec3db7b7de4b0a76486136ba9df07ff70f --- .../android/launcher2/AppsCustomizePagedView.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index 96859d371c..6493e973e2 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -600,6 +600,19 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen } } + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + + // Clean up all the async tasks + Iterator iter = mRunningTasks.iterator(); + while (iter.hasNext()) { + AppsCustomizeAsyncTask task = (AppsCustomizeAsyncTask) iter.next(); + task.cancel(false); + iter.remove(); + } + } + public void setContentType(ContentType type) { mContentType = type; invalidatePageData(0, (type != ContentType.Applications)); @@ -982,7 +995,6 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen prepareLoadWidgetPreviewsTask(page, items, cellWidth, cellHeight, mWidgetCountX); } PagedViewGridLayout layout = (PagedViewGridLayout) getPageAt(page); - layout.createHardwareLayer(); } private void loadWidgetPreviewsInBackground(AppsCustomizeAsyncTask task, AsyncTaskPageData data) { @@ -1073,6 +1085,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen if (iy > 0) lp.topMargin = mWidgetHeightGap; layout.addView(widget, lp); } + layout.createHardwareLayer(); invalidate(); forceUpdateAdjacentPagesAlpha();