summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/Folder.java
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2013-11-13 11:36:03 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-11-13 11:36:04 +0000
commit17e1aeac4bcc15a53eb0e2139d8690aa788a4320 (patch)
treeba2d1c4a913afa9061748b57440143589135bc08 /src/com/android/launcher3/Folder.java
parente248b83797e6b6ce128085560ad0c5b900413bf2 (diff)
parent1960ea4a7102bd0fa03cad1ea1e3a91f8e1bd9cd (diff)
downloadandroid_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.java17
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));