diff options
| author | Alan Viverette <alanv@google.com> | 2015-06-25 17:08:41 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-25 17:08:42 +0000 |
| commit | efb49bd81101046ced1f75aeef81dcda27580514 (patch) | |
| tree | 0c86324ae784b5765233eb4b3bb7ee82e3ac34a2 /core/java/android | |
| parent | 9440a6e6bed93e2816647b6834d543fd57181a86 (diff) | |
| parent | de14ad55f6b74a96687cd88c208352c30b67cbee (diff) | |
Merge "Constrain width and height to >= 0 in FastScroller layout" into mnc-dev
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/widget/FastScroller.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/core/java/android/widget/FastScroller.java b/core/java/android/widget/FastScroller.java index 3ee273cc9ad6..c40289e44bcf 100644 --- a/core/java/android/widget/FastScroller.java +++ b/core/java/android/widget/FastScroller.java @@ -660,10 +660,11 @@ class FastScroller { maxWidth = containerWidth - adjacent.getRight(); } + final int adjMaxHeight = Math.max(0, container.height()); final int adjMaxWidth = Math.max(0, maxWidth - marginLeft - marginRight); final int widthMeasureSpec = MeasureSpec.makeMeasureSpec(adjMaxWidth, MeasureSpec.AT_MOST); - final int heightMeasureSpec = MeasureSpec.makeSafeMeasureSpec(container.height(), - MeasureSpec.UNSPECIFIED); + final int heightMeasureSpec = MeasureSpec.makeSafeMeasureSpec( + adjMaxHeight, MeasureSpec.UNSPECIFIED); view.measure(widthMeasureSpec, heightMeasureSpec); // Align to the left or right. @@ -700,10 +701,11 @@ class FastScroller { final Rect container = mContainerRect; final int containerWidth = container.width(); - final int adjMaxWidth = containerWidth - marginLeft - marginRight; + final int adjMaxHeight = Math.max(0, container.height()); + final int adjMaxWidth = Math.max(0, containerWidth - marginLeft - marginRight); final int widthMeasureSpec = MeasureSpec.makeMeasureSpec(adjMaxWidth, MeasureSpec.AT_MOST); - final int heightMeasureSpec = MeasureSpec.makeSafeMeasureSpec(container.height(), - MeasureSpec.UNSPECIFIED); + final int heightMeasureSpec = MeasureSpec.makeSafeMeasureSpec( + adjMaxHeight, MeasureSpec.UNSPECIFIED); preview.measure(widthMeasureSpec, heightMeasureSpec); // Align at the vertical center, 10% from the top. @@ -766,10 +768,11 @@ class FastScroller { final View track = mTrackImage; final View thumb = mThumbImage; final Rect container = mContainerRect; - final int maxWidth = container.width(); + final int maxWidth = Math.max(0, container.width()); + final int maxHeight = Math.max(0, container.height()); final int widthMeasureSpec = MeasureSpec.makeMeasureSpec(maxWidth, MeasureSpec.AT_MOST); - final int heightMeasureSpec = MeasureSpec.makeSafeMeasureSpec(container.height(), - MeasureSpec.UNSPECIFIED); + final int heightMeasureSpec = MeasureSpec.makeSafeMeasureSpec( + maxHeight, MeasureSpec.UNSPECIFIED); track.measure(widthMeasureSpec, heightMeasureSpec); final int top; |
