diff options
author | Adam Cohen <adamcohen@google.com> | 2013-11-13 11:36:03 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-11-13 11:36:04 +0000 |
commit | 17e1aeac4bcc15a53eb0e2139d8690aa788a4320 (patch) | |
tree | ba2d1c4a913afa9061748b57440143589135bc08 /src/com/android/launcher3/Folder.java | |
parent | e248b83797e6b6ce128085560ad0c5b900413bf2 (diff) | |
parent | 1960ea4a7102bd0fa03cad1ea1e3a91f8e1bd9cd (diff) | |
download | android_packages_apps_Trebuchet-17e1aeac4bcc15a53eb0e2139d8690aa788a4320.tar.gz android_packages_apps_Trebuchet-17e1aeac4bcc15a53eb0e2139d8690aa788a4320.tar.bz2 android_packages_apps_Trebuchet-17e1aeac4bcc15a53eb0e2139d8690aa788a4320.zip |
Merge "Fix CellLayout UNSPECIFIED exception (issue 11627191)" into jb-ub-now-jolly-elf
Diffstat (limited to 'src/com/android/launcher3/Folder.java')
-rw-r--r-- | src/com/android/launcher3/Folder.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index f26d01f5d..051461515 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -119,6 +119,11 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList private int DRAG_MODE_REORDER = 1; private int mDragMode = DRAG_MODE_NONE; + // We avoid measuring the scroll view with a 0 width or height, as this + // results in CellLayout being measured as UNSPECIFIED, which it does + // not support. + private static final int MIN_CONTENT_DIMEN = 5; + private boolean mDestroyed; private AutoScrollHelper mAutoScrollHelper; @@ -961,8 +966,13 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList int maxContentAreaHeight = grid.availableHeightPx - workspacePadding.top - workspacePadding.bottom - mFolderNameHeight; - return Math.min(maxContentAreaHeight, + int height = Math.min(maxContentAreaHeight, mContent.getDesiredHeight()); + return Math.max(height, MIN_CONTENT_DIMEN); + } + + private int getContentAreaWidth() { + return Math.max(mContent.getDesiredWidth(), MIN_CONTENT_DIMEN); } private int getFolderHeight() { @@ -974,11 +984,12 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int width = getPaddingLeft() + getPaddingRight() + mContent.getDesiredWidth(); int height = getFolderHeight(); - int contentAreaWidthSpec = MeasureSpec.makeMeasureSpec(mContent.getDesiredWidth(), + int contentAreaWidthSpec = MeasureSpec.makeMeasureSpec(getContentAreaWidth(), MeasureSpec.EXACTLY); int contentAreaHeightSpec = MeasureSpec.makeMeasureSpec(getContentAreaHeight(), MeasureSpec.EXACTLY); - mContent.setFixedSize(mContent.getDesiredWidth(), mContent.getDesiredHeight()); + + mContent.setFixedSize(getContentAreaWidth(), getContentAreaHeight()); mScrollView.measure(contentAreaWidthSpec, contentAreaHeightSpec); mFolderName.measure(contentAreaWidthSpec, MeasureSpec.makeMeasureSpec(mFolderNameHeight, MeasureSpec.EXACTLY)); |