Add safety net if StackView duration would be negative.

Bug: 32699754
Change-Id: I00d4b2398fa7f4ab4cdad290a346b0f09c2af242
This commit is contained in:
Tony Wickham
2016-11-07 10:18:55 -08:00
parent cdb31d2ecd
commit 400ef79b8e

View File

@@ -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;