From 80469bd3c32942de1f26ec2a529ec6f2bcb4a844 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Mon, 28 Oct 2013 11:07:57 -0700 Subject: Ensuring the widget page is full when shown (Bug 10883258) Change-Id: I9481b5551a2efc093d0fb81fc62a811b34d93d7c --- src/com/android/launcher3/AppsCustomizeLayout.java | 6 +++++- src/com/android/launcher3/AppsCustomizePagedView.java | 13 ++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/com/android/launcher3/AppsCustomizeLayout.java b/src/com/android/launcher3/AppsCustomizeLayout.java index 7bcb90f18..a560635ae 100644 --- a/src/com/android/launcher3/AppsCustomizeLayout.java +++ b/src/com/android/launcher3/AppsCustomizeLayout.java @@ -136,6 +136,10 @@ public class AppsCustomizeLayout extends FrameLayout implements LauncherTransiti @Override public View getContent() { + View appsCustomizeContent = mAppsCustomizePane.getContent(); + if (appsCustomizeContent != null) { + return appsCustomizeContent; + } return mContent; } @@ -176,7 +180,7 @@ public class AppsCustomizeLayout extends FrameLayout implements LauncherTransiti @Override public void onLauncherTransitionStep(Launcher l, float t) { - // Do nothing + mAppsCustomizePane.onLauncherTransitionStep(l, t); } @Override diff --git a/src/com/android/launcher3/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java index 101c7f5b1..253ee2e29 100644 --- a/src/com/android/launcher3/AppsCustomizePagedView.java +++ b/src/com/android/launcher3/AppsCustomizePagedView.java @@ -905,6 +905,9 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen @Override public View getContent() { + if (getChildCount() > 0) { + return getChildAt(0); + } return null; } @@ -928,7 +931,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen public void onLauncherTransitionEnd(Launcher l, boolean animated, boolean toWorkspace) { mInTransition = false; for (AsyncTaskPageData d : mDeferredSyncWidgetPageItems) { - onSyncWidgetPageItems(d); + onSyncWidgetPageItems(d, false); } mDeferredSyncWidgetPageItems.clear(); for (Runnable r : mDeferredPrepareLoadWidgetPreviewsTasks) { @@ -1237,7 +1240,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen mRunningTasks.remove(task); if (task.isCancelled()) return; // do cleanup inside onSyncWidgetPageItems - onSyncWidgetPageItems(data); + onSyncWidgetPageItems(data, false); } }, mWidgetPreviewLoader); @@ -1353,7 +1356,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen AsyncTaskPageData data = new AsyncTaskPageData(page, items, maxPreviewWidth, maxPreviewHeight, null, null, mWidgetPreviewLoader); loadWidgetPreviewsInBackground(null, data); - onSyncWidgetPageItems(data); + onSyncWidgetPageItems(data, immediate); } else { if (mInTransition) { mDeferredPrepareLoadWidgetPreviewsTasks.add(this); @@ -1392,8 +1395,8 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen } } - private void onSyncWidgetPageItems(AsyncTaskPageData data) { - if (mInTransition) { + private void onSyncWidgetPageItems(AsyncTaskPageData data, boolean immediatelySyncItems) { + if (!immediatelySyncItems && mInTransition) { mDeferredSyncWidgetPageItems.add(data); return; } -- cgit v1.2.3