summaryrefslogtreecommitdiffstats
path: root/core/java/android/animation/LayoutTransition.java
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2014-08-21 14:28:01 -0700
committerGeorge Mount <mount@google.com>2014-08-29 16:02:28 -0700
commit984011f6850fd4b6ad4db6d6022bd475d7a2c712 (patch)
tree1a621beda464056d7671b675ae228b9465f555f5 /core/java/android/animation/LayoutTransition.java
parentc9991c7149ccd320200ad62ac0036fe57c5cc831 (diff)
downloadframeworks_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/LayoutTransition.java')
-rw-r--r--core/java/android/animation/LayoutTransition.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/core/java/android/animation/LayoutTransition.java b/core/java/android/animation/LayoutTransition.java
index 188408d..5790682 100644
--- a/core/java/android/animation/LayoutTransition.java
+++ b/core/java/android/animation/LayoutTransition.java
@@ -899,11 +899,15 @@ public class LayoutTransition {
PropertyValuesHolder[] oldValues = valueAnim.getValues();
for (int i = 0; i < oldValues.length; ++i) {
PropertyValuesHolder pvh = oldValues[i];
- KeyframeSet keyframeSet = pvh.mKeyframeSet;
- if (keyframeSet.mFirstKeyframe == null ||
- keyframeSet.mLastKeyframe == null ||
- !keyframeSet.mFirstKeyframe.getValue().equals(
- keyframeSet.mLastKeyframe.getValue())) {
+ if (pvh.mKeyframes instanceof KeyframeSet) {
+ KeyframeSet keyframeSet = (KeyframeSet) pvh.mKeyframes;
+ if (keyframeSet.mFirstKeyframe == null ||
+ keyframeSet.mLastKeyframe == null ||
+ !keyframeSet.mFirstKeyframe.getValue().equals(
+ keyframeSet.mLastKeyframe.getValue())) {
+ valuesDiffer = true;
+ }
+ } else if (!pvh.mKeyframes.getValue(0).equals(pvh.mKeyframes.getValue(1))) {
valuesDiffer = true;
}
}