summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/anim/SpringObjectAnimator.java
diff options
context:
space:
mode:
authorJon Miranda <jonmiranda@google.com>2019-01-29 11:14:38 -0800
committerJon Miranda <jonmiranda@google.com>2019-01-29 12:13:57 -0800
commit86f6c449a72707d48a04613ed320c06040280dac (patch)
tree89156f574f42be04cb5eb70868155ac118cd118b /src/com/android/launcher3/anim/SpringObjectAnimator.java
parent9752705e92593adfb60568ac4d059cc776cfceaa (diff)
downloadandroid_packages_apps_Trebuchet-86f6c449a72707d48a04613ed320c06040280dac.tar.gz
android_packages_apps_Trebuchet-86f6c449a72707d48a04613ed320c06040280dac.tar.bz2
android_packages_apps_Trebuchet-86f6c449a72707d48a04613ed320c06040280dac.zip
Add springs for recents dismiss animations.
Bug: 111698021 Change-Id: If518ba5946ea6fada67f549f2f29e1ab1c89969d
Diffstat (limited to 'src/com/android/launcher3/anim/SpringObjectAnimator.java')
-rw-r--r--src/com/android/launcher3/anim/SpringObjectAnimator.java24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/com/android/launcher3/anim/SpringObjectAnimator.java b/src/com/android/launcher3/anim/SpringObjectAnimator.java
index e4aec107d..4f45c051b 100644
--- a/src/com/android/launcher3/anim/SpringObjectAnimator.java
+++ b/src/com/android/launcher3/anim/SpringObjectAnimator.java
@@ -55,17 +55,27 @@ public class SpringObjectAnimator<T extends ProgressInterface> extends ValueAnim
private boolean mAnimatorEnded = false;
private boolean mEnded = false;
- private static final float SPRING_DAMPING_RATIO = 0.9f;
- private static final float SPRING_STIFFNESS = 600f;
+ private static final FloatPropertyCompat<ProgressInterface> sFloatProperty =
+ new FloatPropertyCompat<ProgressInterface>("springObjectAnimator") {
+ @Override
+ public float getValue(ProgressInterface object) {
+ return object.getProgress();
+ }
+
+ @Override
+ public void setValue(ProgressInterface object, float progress) {
+ object.setProgress(progress);
+ }
+ };
- public SpringObjectAnimator(T object, FloatPropertyCompat<T> floatProperty,
- String name, float minimumVisibleChange, float... values) {
+ public SpringObjectAnimator(T object, String name, float minimumVisibleChange, float damping,
+ float stiffness, float... values) {
mObject = object;
- mSpring = new SpringAnimation(object, floatProperty);
+ mSpring = new SpringAnimation(object, sFloatProperty);
mSpring.setMinimumVisibleChange(minimumVisibleChange);
mSpring.setSpring(new SpringForce(0)
- .setDampingRatio(SPRING_DAMPING_RATIO)
- .setStiffness(SPRING_STIFFNESS));
+ .setDampingRatio(damping)
+ .setStiffness(stiffness));
mSpring.setStartVelocity(0.01f);
mProperty = new SpringProperty<T>(name, mSpring);
mObjectAnimator = ObjectAnimator.ofFloat(object, mProperty, values);