summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author George Mount <mount@google.com> 2016-03-14 14:29:24 -0700
committer George Mount <mount@google.com> 2016-03-14 14:32:14 -0700
commitd98f4ba86c02714d94ec3b6f35345cb0b04f7778 (patch)
treea423fd9eab4d8d09f124919a17395946063ecfd8
parenta871c3104b6ae77eeee2b8d8bdb3371a0788c9a8 (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.java4
-rw-r--r--core/java/android/animation/PropertyValuesHolder.java4
-rw-r--r--core/java/android/app/ActivityOptions.java1
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();