diff options
author | Michael Jurka <mikejurka@google.com> | 2011-05-25 22:13:09 -0700 |
---|---|---|
committer | Michael Jurka <mikejurka@google.com> | 2011-05-25 22:24:31 -0700 |
commit | 87b1490c5a100619648b251cb2be05c457bede08 (patch) | |
tree | 3c2012bc384b2efc6c602778774b93457416e116 /src/com/android/launcher2/CustomizePagedView.java | |
parent | 1a0093367d567294eb6b3c82445cb42c305918ae (diff) | |
download | android_packages_apps_Trebuchet-87b1490c5a100619648b251cb2be05c457bede08.tar.gz android_packages_apps_Trebuchet-87b1490c5a100619648b251cb2be05c457bede08.tar.bz2 android_packages_apps_Trebuchet-87b1490c5a100619648b251cb2be05c457bede08.zip |
Potential fix for bug 4479399
Diffstat (limited to 'src/com/android/launcher2/CustomizePagedView.java')
-rw-r--r-- | src/com/android/launcher2/CustomizePagedView.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/com/android/launcher2/CustomizePagedView.java b/src/com/android/launcher2/CustomizePagedView.java index 406d634bb..f80385610 100644 --- a/src/com/android/launcher2/CustomizePagedView.java +++ b/src/com/android/launcher2/CustomizePagedView.java @@ -151,6 +151,8 @@ public class CustomizePagedView extends PagedViewWithDraggableItems private AllAppsPagedView mAllAppsPagedView; + private boolean mWaitingToInitPages = true; + public CustomizePagedView(Context context) { this(context, null, 0); } @@ -208,6 +210,8 @@ public class CustomizePagedView extends PagedViewWithDraggableItems mPageContentWidth = layout.getContentWidth(); mPageContentHeight = layout.getContentHeight(); mMinPageWidth = layout.getWidthBeforeFirstLayout(); + removeAllViews(); + invalidatePageData(); } if (mPageContentHeight > 0) { // Lock our height to the size of the page content @@ -220,7 +224,8 @@ public class CustomizePagedView extends PagedViewWithDraggableItems @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - if (mFirstLayout) { + if (mWaitingToInitPages) { + mWaitingToInitPages = false; invalidatePageData(); // invalidatePageData() is what causes the child pages to be created. We need the @@ -1140,12 +1145,17 @@ public class CustomizePagedView extends PagedViewWithDraggableItems } @Override - public void syncPages() { - if (mFirstMeasure) { + protected void invalidatePageData() { + if (mWaitingToInitPages || mCellCountX <= 0 || mCellCountY <= 0) { // We don't know our size yet, which means we haven't calculated cell count x/y; // onMeasure will call us once we figure out our size return; } + super.invalidatePageData(); + } + + @Override + public void syncPages() { boolean enforceMinimumPagedWidths = false; boolean centerPagedViewCellLayouts = false; switch (mCustomizationType) { |