summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2021-07-14 16:55:22 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-07-14 16:55:22 +0000
commitb42f19e2975e66d529bcedd3646e593cde322fb8 (patch)
tree74b9d05515c00868f7d1e6174abff812f71fa754
parent9ab91ae6f49e22562ca1acb892c495482a537ecd (diff)
parent4c19a7cc2a5db090f113fa2ad4ad26acd5c7c1b8 (diff)
Merge "Limit overscroll stretch for animation" into sc-dev
-rw-r--r--core/java/android/widget/EdgeEffect.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/widget/EdgeEffect.java b/core/java/android/widget/EdgeEffect.java
index 472e3e72ab2f..c110ab956030 100644
--- a/core/java/android/widget/EdgeEffect.java
+++ b/core/java/android/widget/EdgeEffect.java
@@ -365,6 +365,10 @@ public class EdgeEffect {
mDuration = PULL_TIME;
mPullDistance += deltaDistance;
+ if (edgeEffectBehavior == TYPE_STRETCH) {
+ // Don't allow stretch beyond 1
+ mPullDistance = Math.min(1f, mPullDistance);
+ }
mDistance = Math.max(0f, mPullDistance);
mVelocity = 0;
@@ -783,6 +787,10 @@ public class EdgeEffect {
+ mDampedFreq * sinCoeff * Math.cos(mDampedFreq * deltaT));
mDistance = (float) distance / mHeight;
mVelocity = (float) velocity;
+ if (mDistance > 1f) {
+ mDistance = 1f;
+ mVelocity = 0f;
+ }
if (isAtEquilibrium()) {
mDistance = 0;
mVelocity = 0;