diff options
| author | 2018-03-23 13:36:24 -0700 | |
|---|---|---|
| committer | 2018-03-23 13:38:01 -0700 | |
| commit | 1194b0bdfed798cae594c6e80c13855ea6618f3b (patch) | |
| tree | 5a26bd64b858311a6b7f3b072c8665ef2835d8e8 | |
| parent | ff61d8872c938b6223c6d4516bcc6112b1fe68ed (diff) | |
Remove incorrect @NonNull annotations on getDrawable() and variants.
For compatibility, had to continue returning null when drawables could
not be decoded. Fix annotation to match pre-P behavior (the behavior
was reverted separately).
Fixes: 69543526
Test: make
Partial revert of Ib01eca970c5c9969998ce5b265b120aa7048b41a
Change-Id: I5f612f47793c3f04cf9874e13efdc13397ddd4e8
| -rw-r--r-- | core/java/android/content/Context.java | 2 | ||||
| -rw-r--r-- | core/java/android/content/res/Resources.java | 8 | ||||
| -rw-r--r-- | core/java/android/content/res/ResourcesImpl.java | 7 |
3 files changed, 11 insertions, 6 deletions
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index e1a00b146576..920056a805b1 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -621,7 +621,7 @@ public abstract class Context { * @throws android.content.res.Resources.NotFoundException if the given ID * does not exist. */ - @NonNull + @Nullable public final Drawable getDrawable(@DrawableRes int id) { return getResources().getDrawable(id, getTheme()); } diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java index d8133824f757..c58cde006759 100644 --- a/core/java/android/content/res/Resources.java +++ b/core/java/android/content/res/Resources.java @@ -847,6 +847,7 @@ public class Resources { * @see #getDrawableForDensity(int, int, Theme) * @deprecated Use {@link #getDrawableForDensity(int, int, Theme)} instead. */ + @Nullable @Deprecated public Drawable getDrawableForDensity(@DrawableRes int id, int density) throws NotFoundException { @@ -864,12 +865,13 @@ public class Resources { * found in {@link DisplayMetrics}. A value of 0 means to use the * density returned from {@link #getConfiguration()}. * This is equivalent to calling {@link #getDrawable(int, Theme)}. - * @param theme The theme used to style the drawable attributes, may be {@code null}. + * @param theme The theme used to style the drawable attributes, may be {@code null} if the + * drawable cannot be decoded. * @return Drawable An object that can be used to draw this resource. * @throws NotFoundException Throws NotFoundException if the given ID does - * not exist, or cannot be decoded. + * not exist. */ - @NonNull + @Nullable public Drawable getDrawableForDensity(@DrawableRes int id, int density, @Nullable Theme theme) { final TypedValue value = obtainTempTypedValue(); try { diff --git a/core/java/android/content/res/ResourcesImpl.java b/core/java/android/content/res/ResourcesImpl.java index 157910a043e9..8c980677fdd0 100644 --- a/core/java/android/content/res/ResourcesImpl.java +++ b/core/java/android/content/res/ResourcesImpl.java @@ -544,7 +544,7 @@ public class ResourcesImpl { } } - @NonNull + @Nullable Drawable loadDrawable(@NonNull Resources wrapper, @NonNull TypedValue value, int id, int density, @Nullable Resources.Theme theme) throws NotFoundException { @@ -757,6 +757,7 @@ public class ResourcesImpl { * * This call will handle closing ais. */ + @Nullable private Drawable decodeImageDrawable(@NonNull AssetInputStream ais, @NonNull Resources wrapper, @NonNull TypedValue value) { ImageDecoder.Source src = new ImageDecoder.AssetInputStreamSource(ais, @@ -774,8 +775,10 @@ public class ResourcesImpl { /** * Loads a drawable from XML or resources stream. + * + * @return Drawable, or null if Drawable cannot be decoded. */ - @NonNull + @Nullable private Drawable loadDrawableForCookie(@NonNull Resources wrapper, @NonNull TypedValue value, int id, int density) { if (value.string == null) { |