diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2021-07-14 17:02:08 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-07-14 17:02:08 +0000 |
commit | 411898fd3ecc3291e8f87b32bb2f7d46eed0880c (patch) | |
tree | e7c81aa138adcb03a76bb00943577b65faf56c34 | |
parent | 808f81281f80af48104e4077b70f5430e7ce03c4 (diff) | |
parent | b42f19e2975e66d529bcedd3646e593cde322fb8 (diff) | |
download | base-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.java | 8 |
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; |