summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2021-07-14 17:02:08 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-07-14 17:02:08 +0000
commit411898fd3ecc3291e8f87b32bb2f7d46eed0880c (patch)
treee7c81aa138adcb03a76bb00943577b65faf56c34
parent808f81281f80af48104e4077b70f5430e7ce03c4 (diff)
parentb42f19e2975e66d529bcedd3646e593cde322fb8 (diff)
downloadbase-411898fd3ecc3291e8f87b32bb2f7d46eed0880c.tar.gz
Merge "Limit overscroll stretch for animation" into sc-dev am: b42f19e297
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15161821 Change-Id: Ie3933022707a7e5c1fb9688314019be2fc0e5703
-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;