summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2016-11-07 21:48:42 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-11-07 21:48:45 +0000
commite6022a40ad79ae59aa602bb251d92572c7db27aa (patch)
treef4bf893fc832235eeb8e3058278be4c6c3b5d097
parent9310f59cac8b63ca792a8e2d3f9dbbaba477fc61 (diff)
parent400ef79b8e40d586f6123aa44dfbf3495156fb20 (diff)
Merge "Add safety net if StackView duration would be negative."
-rw-r--r--core/java/android/widget/StackView.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/android/widget/StackView.java b/core/java/android/widget/StackView.java
index 0e99c02cc6aa..1b9055ce33ab 100644
--- a/core/java/android/widget/StackView.java
+++ b/core/java/android/widget/StackView.java
@@ -1051,6 +1051,11 @@ public class StackView extends AdapterViewAnimator {
float d = (float) Math.hypot(viewLp.horizontalOffset, viewLp.verticalOffset);
float maxd = (float) Math.hypot(mSlideAmount, 0.4f * mSlideAmount);
+ if (d > maxd) {
+ // Because mSlideAmount is updated in onLayout(), it is possible that d > maxd
+ // if we get onLayout() right before this method is called.
+ d = maxd;
+ }
if (velocity == 0) {
return (invert ? (1 - d / maxd) : d / maxd) * DEFAULT_ANIMATION_DURATION;