From c91531a863d65e4a74fa30ac9a20d02ccd31f5ca Mon Sep 17 00:00:00 2001 From: Tor Norbye Date: Wed, 1 Apr 2015 17:41:55 -0700 Subject: [PATCH] Fix resource type annotations for obtainStyledAttributes Change-Id: I7681249ff46d687675d0dcd7d4f077646efba687 --- core/java/android/content/Context.java | 11 ++++++----- core/java/android/content/res/Resources.java | 10 +++++++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index e9d4e598bc222..9450dce11bdac 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -16,6 +16,7 @@ package android.content; +import android.annotation.AttrRes; import android.annotation.CheckResult; import android.annotation.IntDef; import android.annotation.NonNull; @@ -474,8 +475,7 @@ public abstract class Context { * * @see android.content.res.Resources.Theme#obtainStyledAttributes(int[]) */ - public final TypedArray obtainStyledAttributes( - int[] attrs) { + public final TypedArray obtainStyledAttributes(@StyleableRes int[] attrs) { return getTheme().obtainStyledAttributes(attrs); } @@ -487,7 +487,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(int, int[]) */ public final TypedArray obtainStyledAttributes( - @StyleableRes int resid, int[] attrs) throws Resources.NotFoundException { + @StyleRes int resid, @StyleableRes int[] attrs) throws Resources.NotFoundException { return getTheme().obtainStyledAttributes(resid, attrs); } @@ -499,7 +499,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(AttributeSet, int[], int, int) */ public final TypedArray obtainStyledAttributes( - AttributeSet set, int[] attrs) { + AttributeSet set, @StyleableRes int[] attrs) { return getTheme().obtainStyledAttributes(set, attrs, 0, 0); } @@ -511,7 +511,8 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(AttributeSet, int[], int, int) */ public final TypedArray obtainStyledAttributes( - AttributeSet set, int[] attrs, int defStyleAttr, int defStyleRes) { + AttributeSet set, @StyleableRes int[] attrs, @AttrRes int defStyleAttr, + @StyleRes int defStyleRes) { return getTheme().obtainStyledAttributes( set, attrs, defStyleAttr, defStyleRes); } diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java index 44018ffe0f38a..23313b03a884f 100644 --- a/core/java/android/content/res/Resources.java +++ b/core/java/android/content/res/Resources.java @@ -16,7 +16,10 @@ package android.content.res; +import android.annotation.AttrRes; import android.annotation.ColorInt; +import android.annotation.StyleRes; +import android.annotation.StyleableRes; import com.android.internal.util.XmlUtils; import org.xmlpull.v1.XmlPullParser; @@ -1473,7 +1476,7 @@ public class Resources { * @see #obtainStyledAttributes(int, int[]) * @see #obtainStyledAttributes(AttributeSet, int[], int, int) */ - public TypedArray obtainStyledAttributes(int[] attrs) { + public TypedArray obtainStyledAttributes(@StyleableRes int[] attrs) { final int len = attrs.length; final TypedArray array = TypedArray.obtain(Resources.this, len); array.mTheme = this; @@ -1501,7 +1504,8 @@ public class Resources { * @see #obtainStyledAttributes(int[]) * @see #obtainStyledAttributes(AttributeSet, int[], int, int) */ - public TypedArray obtainStyledAttributes(int resid, int[] attrs) throws NotFoundException { + public TypedArray obtainStyledAttributes(@StyleRes int resid, @StyleableRes int[] attrs) + throws NotFoundException { final int len = attrs.length; final TypedArray array = TypedArray.obtain(Resources.this, len); array.mTheme = this; @@ -1584,7 +1588,7 @@ public class Resources { * @see #obtainStyledAttributes(int, int[]) */ public TypedArray obtainStyledAttributes(AttributeSet set, - int[] attrs, int defStyleAttr, int defStyleRes) { + @StyleableRes int[] attrs, @AttrRes int defStyleAttr, @StyleRes int defStyleRes) { final int len = attrs.length; final TypedArray array = TypedArray.obtain(Resources.this, len);