diff options
author | George Mount <mount@google.com> | 2014-08-21 14:28:01 -0700 |
---|---|---|
committer | George Mount <mount@google.com> | 2014-08-29 16:02:28 -0700 |
commit | 984011f6850fd4b6ad4db6d6022bd475d7a2c712 (patch) | |
tree | 1a621beda464056d7671b675ae228b9465f555f5 /core/java/android/animation/KeyframeSet.java | |
parent | c9991c7149ccd320200ad62ac0036fe57c5cc831 (diff) | |
download | frameworks_base-984011f6850fd4b6ad4db6d6022bd475d7a2c712.zip frameworks_base-984011f6850fd4b6ad4db6d6022bd475d7a2c712.tar.gz frameworks_base-984011f6850fd4b6ad4db6d6022bd475d7a2c712.tar.bz2 |
Use optimized Keyframes for Path animations.
Bug 17005728
Change-Id: I2e109ed1a3e768e1e0286fc3950516f16509e591
Diffstat (limited to 'core/java/android/animation/KeyframeSet.java')
-rw-r--r-- | core/java/android/animation/KeyframeSet.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/core/java/android/animation/KeyframeSet.java b/core/java/android/animation/KeyframeSet.java index a3db3a1..fc9bbb1 100644 --- a/core/java/android/animation/KeyframeSet.java +++ b/core/java/android/animation/KeyframeSet.java @@ -21,6 +21,7 @@ import java.util.Arrays; import android.animation.Keyframe.IntKeyframe; import android.animation.Keyframe.FloatKeyframe; import android.animation.Keyframe.ObjectKeyframe; +import android.graphics.Path; import android.util.Log; /** @@ -28,7 +29,7 @@ import android.util.Log; * values between those keyframes for a given animation. The class internal to the animation * package because it is an implementation detail of how Keyframes are stored and used. */ -class KeyframeSet { +class KeyframeSet implements Keyframes { int mNumKeyframes; @@ -52,7 +53,12 @@ class KeyframeSet { * If subclass has variables that it calculates based on the Keyframes, it should reset them * when this method is called because Keyframe contents might have changed. */ - void invalidateCache() { + @Override + public void invalidateCache() { + } + + public ArrayList<Keyframe> getKeyframes() { + return mKeyframes; } public static KeyframeSet ofInt(int... values) { @@ -144,6 +150,10 @@ class KeyframeSet { return new KeyframeSet(keyframes); } + public static PathKeyframes ofPath(Path path) { + return new PathKeyframes(path); + } + /** * Sets the TypeEvaluator to be used when calculating animated values. This object * is required only for KeyframeSets that are not either IntKeyframeSet or FloatKeyframeSet, @@ -157,6 +167,11 @@ class KeyframeSet { } @Override + public Class getType() { + return mFirstKeyframe.getType(); + } + + @Override public KeyframeSet clone() { ArrayList<Keyframe> keyframes = mKeyframes; int numKeyframes = mKeyframes.size(); |