summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/InterruptibleInOutAnimator.java
diff options
context:
space:
mode:
authorChet Haase <chet@google.com>2010-10-14 07:02:04 -0700
committerChet Haase <chet@google.com>2010-10-14 10:51:21 -0700
commit472b281d5cb4f5660df981a6c912266b9f5703fe (patch)
treeec2393d2d472bda0893e861e19722ab9f7cc3c27 /src/com/android/launcher2/InterruptibleInOutAnimator.java
parent564976a46ef02d665aa0e455ad7867746a0b5325 (diff)
downloadandroid_packages_apps_Trebuchet-472b281d5cb4f5660df981a6c912266b9f5703fe.tar.gz
android_packages_apps_Trebuchet-472b281d5cb4f5660df981a6c912266b9f5703fe.tar.bz2
android_packages_apps_Trebuchet-472b281d5cb4f5660df981a6c912266b9f5703fe.zip
Updating code to use new non-generified animator APIs
Change-Id: Ie1928a22f774b226d90fa0918f61dba35d183dd6
Diffstat (limited to 'src/com/android/launcher2/InterruptibleInOutAnimator.java')
-rw-r--r--src/com/android/launcher2/InterruptibleInOutAnimator.java36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/com/android/launcher2/InterruptibleInOutAnimator.java b/src/com/android/launcher2/InterruptibleInOutAnimator.java
index 0b2f34561..bed7e6b28 100644
--- a/src/com/android/launcher2/InterruptibleInOutAnimator.java
+++ b/src/com/android/launcher2/InterruptibleInOutAnimator.java
@@ -18,6 +18,7 @@ package com.android.launcher2;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
+import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.util.Log;
@@ -28,10 +29,11 @@ import android.util.Log;
* be exactly reversed. Using this class, both the 'in' and the 'out' animation use the
* interpolator in the same direction.
*/
-public class InterruptibleInOutAnimator extends ValueAnimator {
+public class InterruptibleInOutAnimator {
private long mOriginalDuration;
- private Object mOriginalFromValue;
- private Object mOriginalToValue;
+ private float mOriginalFromValue;
+ private float mOriginalToValue;
+ private ValueAnimator mAnimator;
private boolean mFirstRun = true;
@@ -41,41 +43,41 @@ public class InterruptibleInOutAnimator extends ValueAnimator {
private static final int IN = 1;
private static final int OUT = 2;
+
private int mDirection = STOPPED;
- public InterruptibleInOutAnimator(long duration, Object fromValue, Object toValue) {
- super(duration, fromValue, toValue);
+ public InterruptibleInOutAnimator(long duration, float fromValue, float toValue) {
+ mAnimator = ValueAnimator.ofFloat(fromValue, toValue).setDuration(duration);
mOriginalDuration = duration;
mOriginalFromValue = fromValue;
mOriginalToValue = toValue;
}
private void animate(int direction) {
- final long currentPlayTime = getCurrentPlayTime();
- final Object toValue = (direction == IN) ? mOriginalToValue : mOriginalFromValue;
- final Object startValue = mFirstRun ? mOriginalFromValue : getAnimatedValue();
+ final long currentPlayTime = mAnimator.getCurrentPlayTime();
+ final float toValue = (direction == IN) ? mOriginalToValue : mOriginalFromValue;
+ final float startValue = mFirstRun ? mOriginalFromValue :
+ ((Float) mAnimator.getAnimatedValue()).floatValue();
// Make sure it's stopped before we modify any values
cancel();
if (startValue != toValue) {
mDirection = direction;
- setDuration(mOriginalDuration - currentPlayTime);
- setValues(startValue, toValue);
- start();
+ mAnimator.setDuration(mOriginalDuration - currentPlayTime);
+ mAnimator.setFloatValues(startValue, toValue);
+ mAnimator.start();
mFirstRun = false;
}
}
- @Override
public void cancel() {
- super.cancel();
+ mAnimator.cancel();
mDirection = STOPPED;
}
- @Override
public void end() {
- super.end();
+ mAnimator.end();
mDirection = STOPPED;
}
@@ -112,4 +114,8 @@ public class InterruptibleInOutAnimator extends ValueAnimator {
public Object getTag() {
return mTag;
}
+
+ public ValueAnimator getAnimator() {
+ return mAnimator;
+ }
}