diff options
| author | 2016-03-14 14:29:24 -0700 | |
|---|---|---|
| committer | 2016-03-14 14:32:14 -0700 | |
| commit | d98f4ba86c02714d94ec3b6f35345cb0b04f7778 (patch) | |
| tree | a423fd9eab4d8d09f124919a17395946063ecfd8 | |
| parent | a871c3104b6ae77eeee2b8d8bdb3371a0788c9a8 (diff) | |
Add @SafeVarargs for methods using typevar varargs.
Bug 27142336
Using a type variable in a varargs leads to a javac warning
because type variables are treated as Object after compilation.
Because these uses do not require a specific typed array, we
can use @SafeVarargs to suppress the warning.
Change-Id: I860bcc79667a9c85c381c7994fd1d798209d7c66
| -rw-r--r-- | core/java/android/animation/ObjectAnimator.java | 4 | ||||
| -rw-r--r-- | core/java/android/animation/PropertyValuesHolder.java | 4 | ||||
| -rw-r--r-- | core/java/android/app/ActivityOptions.java | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/core/java/android/animation/ObjectAnimator.java b/core/java/android/animation/ObjectAnimator.java index 0b751b27afc9..efb9192a7583 100644 --- a/core/java/android/animation/ObjectAnimator.java +++ b/core/java/android/animation/ObjectAnimator.java @@ -373,6 +373,7 @@ public final class ObjectAnimator extends ValueAnimator { * @param values A set of values that the animation will animate between over time. * @return An ObjectAnimator object that is set up to animate between the given values. */ + @SafeVarargs public static <T> ObjectAnimator ofMultiInt(Object target, String propertyName, TypeConverter<T, int[]> converter, TypeEvaluator<T> evaluator, T... values) { PropertyValuesHolder pvh = PropertyValuesHolder.ofMultiInt(propertyName, converter, @@ -569,6 +570,7 @@ public final class ObjectAnimator extends ValueAnimator { * @param values A set of values that the animation will animate between over time. * @return An ObjectAnimator object that is set up to animate between the given values. */ + @SafeVarargs public static <T> ObjectAnimator ofMultiFloat(Object target, String propertyName, TypeConverter<T, float[]> converter, TypeEvaluator<T> evaluator, T... values) { PropertyValuesHolder pvh = PropertyValuesHolder.ofMultiFloat(propertyName, converter, @@ -642,6 +644,7 @@ public final class ObjectAnimator extends ValueAnimator { * @return An ObjectAnimator object that is set up to animate between the given values. */ @NonNull + @SafeVarargs public static <T, V> ObjectAnimator ofObject(T target, Property<T, V> property, TypeEvaluator<V> evaluator, V... values) { ObjectAnimator anim = new ObjectAnimator(target, property); @@ -670,6 +673,7 @@ public final class ObjectAnimator extends ValueAnimator { * @return An ObjectAnimator object that is set up to animate between the given values. */ @NonNull + @SafeVarargs public static <T, V, P> ObjectAnimator ofObject(T target, Property<T, P> property, TypeConverter<V, P> converter, TypeEvaluator<V> evaluator, V... values) { PropertyValuesHolder pvh = PropertyValuesHolder.ofObject(property, converter, evaluator, diff --git a/core/java/android/animation/PropertyValuesHolder.java b/core/java/android/animation/PropertyValuesHolder.java index 6ba5b968dfe7..ffea6f5e0003 100644 --- a/core/java/android/animation/PropertyValuesHolder.java +++ b/core/java/android/animation/PropertyValuesHolder.java @@ -236,6 +236,7 @@ public class PropertyValuesHolder implements Cloneable { * @see ObjectAnimator#ofMultiInt(Object, String, TypeConverter, TypeEvaluator, Object[]) * @see ObjectAnimator#ofPropertyValuesHolder(Object, PropertyValuesHolder...) */ + @SafeVarargs public static <V> PropertyValuesHolder ofMultiInt(String propertyName, TypeConverter<V, int[]> converter, TypeEvaluator<V> evaluator, V... values) { return new MultiIntValuesHolder(propertyName, converter, evaluator, values); @@ -353,6 +354,7 @@ public class PropertyValuesHolder implements Cloneable { * @return PropertyValuesHolder The constructed PropertyValuesHolder object. * @see ObjectAnimator#ofMultiFloat(Object, String, TypeConverter, TypeEvaluator, Object[]) */ + @SafeVarargs public static <V> PropertyValuesHolder ofMultiFloat(String propertyName, TypeConverter<V, float[]> converter, TypeEvaluator<V> evaluator, V... values) { return new MultiFloatValuesHolder(propertyName, converter, evaluator, values); @@ -438,6 +440,7 @@ public class PropertyValuesHolder implements Cloneable { * @param values The values that the property will animate between. * @return PropertyValuesHolder The constructed PropertyValuesHolder object. */ + @SafeVarargs public static <V> PropertyValuesHolder ofObject(Property property, TypeEvaluator<V> evaluator, V... values) { PropertyValuesHolder pvh = new PropertyValuesHolder(property); @@ -465,6 +468,7 @@ public class PropertyValuesHolder implements Cloneable { * @see #setConverter(TypeConverter) * @see TypeConverter */ + @SafeVarargs public static <T, V> PropertyValuesHolder ofObject(Property<?, V> property, TypeConverter<T, V> converter, TypeEvaluator<T> evaluator, T... values) { PropertyValuesHolder pvh = new PropertyValuesHolder(property); diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java index 094950bfb3fd..2b244ca743c7 100644 --- a/core/java/android/app/ActivityOptions.java +++ b/core/java/android/app/ActivityOptions.java @@ -621,6 +621,7 @@ public class ActivityOptions { * @see android.transition.Transition#setEpicenterCallback( * android.transition.Transition.EpicenterCallback) */ + @SafeVarargs public static ActivityOptions makeSceneTransitionAnimation(Activity activity, Pair<View, String>... sharedElements) { ActivityOptions opts = new ActivityOptions(); |