summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2015-06-25 17:16:10 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-06-25 17:16:10 +0000
commitdf6ca3cdae40ff8a0ea93c570406a969a9602aca (patch)
treeb3f1c6c6897441b363cbaf959ab689f5f2aff606 /core/java/android
parentfb82296324ea42996b0ed646f1c0292c0bfcb151 (diff)
parentefb49bd81101046ced1f75aeef81dcda27580514 (diff)
am efb49bd8: Merge "Constrain width and height to >= 0 in FastScroller layout" into mnc-dev
* commit 'efb49bd81101046ced1f75aeef81dcda27580514': Constrain width and height to >= 0 in FastScroller layout
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/widget/FastScroller.java19
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;