Set existing TypeEvaluator on new KeyframeSet when changing object values
This avoids NullPointerException crash when changing values without
first canceling a running animator.
Issue #16245303 KeyframeSet crash on null keyframe or evaluator
Change-Id: I50ce5223310fe87e3382c446e2d36d93ae38a8fe
diff --git a/core/java/android/animation/PropertyValuesHolder.java b/core/java/android/animation/PropertyValuesHolder.java
index bf2924c..bdfbde1 100644
--- a/core/java/android/animation/PropertyValuesHolder.java
+++ b/core/java/android/animation/PropertyValuesHolder.java
@@ -631,6 +631,9 @@
public void setObjectValues(Object... values) {
mValueType = values[0].getClass();
mKeyframeSet = KeyframeSet.ofObject(values);
+ if (mEvaluator != null) {
+ mKeyframeSet.setEvaluator(mEvaluator);
+ }
}
/**