diff options
author | Adam Cohen <adamcohen@google.com> | 2013-11-15 08:50:12 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-11-15 08:50:12 -0800 |
commit | 6641570ec10c95cfbaef139310c150626e035032 (patch) | |
tree | 45ec13699f9d42199d2afacbe3da634acf9cf149 | |
parent | a73c1fac3d2608b61c0d9d4ea4aeb5236bbe6a6a (diff) | |
parent | 17e1aeac4bcc15a53eb0e2139d8690aa788a4320 (diff) | |
download | android_packages_apps_Trebuchet-6641570ec10c95cfbaef139310c150626e035032.tar.gz android_packages_apps_Trebuchet-6641570ec10c95cfbaef139310c150626e035032.tar.bz2 android_packages_apps_Trebuchet-6641570ec10c95cfbaef139310c150626e035032.zip |
am 17e1aeac: Merge "Fix CellLayout UNSPECIFIED exception (issue 11627191)" into jb-ub-now-jolly-elf
* commit '17e1aeac4bcc15a53eb0e2139d8690aa788a4320':
Fix CellLayout UNSPECIFIED exception (issue 11627191)
-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)); |