diff options
author | Anonymous <no-reply@google.com> | 2019-04-08 11:58:40 -0700 |
---|---|---|
committer | Jeff Davidson <jpd@google.com> | 2019-04-09 09:36:38 -0700 |
commit | 5de194ffbed13a828d70c3c73234e9825a97843f (patch) | |
tree | 353cb45ae683a91486dc4266c97e8aa55b52189a /src/main/java/com/android/volley/toolbox/NetworkImageView.java | |
parent | e926546a739acd231feeb85d9bd7a9f2cec0fefb (diff) | |
download | volley-5de194ffbed13a828d70c3c73234e9825a97843f.tar.gz |
Import of Volley from GitHub to AOSP.android-q-preview-6android-q-preview-5android-q-preview-4android-q-preview-2.5android-o-mr1-iot-release-1.0.12oreo-mr1-iot-release
- dbfc43945655acaf7cc18e4a30ceb26a46c05f58 Adding setDefaultImageDrawable and setErrorImageDrawable ... by Yuhan Zhao <poligun@gmail.com>
- 83ea07d3e3ea251221da834c43705897dec6d34e Pin to a specific errorprone version. (#266) by Jeff Davidson <jpd236@cornell.edu>
GitOrigin-RevId: dbfc43945655acaf7cc18e4a30ceb26a46c05f58
Change-Id: If34fda708841eb5bf3788865b66e23f342523537
Diffstat (limited to 'src/main/java/com/android/volley/toolbox/NetworkImageView.java')
-rw-r--r-- | src/main/java/com/android/volley/toolbox/NetworkImageView.java | 71 |
1 files changed, 62 insertions, 9 deletions
diff --git a/src/main/java/com/android/volley/toolbox/NetworkImageView.java b/src/main/java/com/android/volley/toolbox/NetworkImageView.java index 53affc3..a24b3e2 100644 --- a/src/main/java/com/android/volley/toolbox/NetworkImageView.java +++ b/src/main/java/com/android/volley/toolbox/NetworkImageView.java @@ -15,6 +15,7 @@ package com.android.volley.toolbox; import android.content.Context; import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.text.TextUtils; import android.util.AttributeSet; import android.view.ViewGroup.LayoutParams; @@ -32,25 +33,37 @@ public class NetworkImageView extends ImageView { /** * Resource ID of the image to be used as a placeholder until the network image is loaded. Won't - * be set at the same time as mDefaultImageBitmap. + * be set at the same time as mDefaultImageDrawable or mDefaultImageBitmap. */ private int mDefaultImageId; /** + * Drawable of the image to be used as a placeholder until the network image is loaded. Won't be + * set at the same time as mDefaultImageId or mDefaultImageBitmap. + */ + @Nullable private Drawable mDefaultImageDrawable; + + /** * Bitmap of the image to be used as a placeholder until the network image is loaded. Won't be - * set at the same time as mDefaultImageId. + * set at the same time as mDefaultImageId or mDefaultImageDrawable. */ - @Nullable Bitmap mDefaultImageBitmap; + @Nullable private Bitmap mDefaultImageBitmap; /** * Resource ID of the image to be used if the network response fails. Won't be set at the same - * time as mErrorImageBitmap. + * time as mErrorImageDrawable or mErrorImageBitmap. */ private int mErrorImageId; /** * Bitmap of the image to be used if the network response fails. Won't be set at the same time - * as mErrorImageId. + * as mErrorImageId or mErrorImageBitmap. + */ + @Nullable private Drawable mErrorImageDrawable; + + /** + * Bitmap of the image to be used if the network response fails. Won't be set at the same time + * as mErrorImageId or mErrorImageDrawable. */ @Nullable private Bitmap mErrorImageBitmap; @@ -100,21 +113,38 @@ public class NetworkImageView extends ImageView { * Sets the default image resource ID to be used for this view until the attempt to load it * completes. * - * <p>This will clear anything set by {@link NetworkImageView#setDefaultImageBitmap}. + * <p>This will clear anything set by {@link NetworkImageView#setDefaultImageBitmap} or {@link + * NetworkImageView#setDefaultImageDrawable}. */ public void setDefaultImageResId(int defaultImage) { mDefaultImageBitmap = null; + mDefaultImageDrawable = null; mDefaultImageId = defaultImage; } /** + * Sets the default image drawable to be used for this view until the attempt to load it + * completes. + * + * <p>This will clear anything set by {@link NetworkImageView#setDefaultImageResId} or {@link + * NetworkImageView#setDefaultImageBitmap}. + */ + public void setDefaultImageDrawable(@Nullable Drawable defaultImageDrawable) { + mDefaultImageId = 0; + mDefaultImageBitmap = null; + mDefaultImageDrawable = defaultImageDrawable; + } + + /** * Sets the default image bitmap to be used for this view until the attempt to load it * completes. * - * <p>This will clear anything set by {@link NetworkImageView#setDefaultImageResId}. + * <p>This will clear anything set by {@link NetworkImageView#setDefaultImageResId} or {@link + * NetworkImageView#setDefaultImageDrawable}. */ public void setDefaultImageBitmap(Bitmap defaultImage) { mDefaultImageId = 0; + mDefaultImageDrawable = null; mDefaultImageBitmap = defaultImage; } @@ -122,21 +152,38 @@ public class NetworkImageView extends ImageView { * Sets the error image resource ID to be used for this view in the event that the image * requested fails to load. * - * <p>This will clear anything set by {@link NetworkImageView#setErrorImageBitmap}. + * <p>This will clear anything set by {@link NetworkImageView#setErrorImageBitmap} or {@link + * NetworkImageView#setErrorImageDrawable}. */ public void setErrorImageResId(int errorImage) { mErrorImageBitmap = null; + mErrorImageDrawable = null; mErrorImageId = errorImage; } /** + * Sets the error image drawable to be used for this view in the event that the image requested + * fails to load. + * + * <p>This will clear anything set by {@link NetworkImageView#setErrorImageResId} or {@link + * NetworkImageView#setDefaultImageBitmap}. + */ + public void setErrorImageDrawable(@Nullable Drawable errorImageDrawable) { + mErrorImageId = 0; + mErrorImageBitmap = null; + mErrorImageDrawable = errorImageDrawable; + } + + /** * Sets the error image bitmap to be used for this view in the event that the image requested * fails to load. * - * <p>This will clear anything set by {@link NetworkImageView#setErrorImageResId}. + * <p>This will clear anything set by {@link NetworkImageView#setErrorImageResId} or {@link + * NetworkImageView#setDefaultImageDrawable}. */ public void setErrorImageBitmap(Bitmap errorImage) { mErrorImageId = 0; + mErrorImageDrawable = null; mErrorImageBitmap = errorImage; } @@ -202,6 +249,8 @@ public class NetworkImageView extends ImageView { public void onErrorResponse(VolleyError error) { if (mErrorImageId != 0) { setImageResource(mErrorImageId); + } else if (mErrorImageDrawable != null) { + setImageDrawable(mErrorImageDrawable); } else if (mErrorImageBitmap != null) { setImageBitmap(mErrorImageBitmap); } @@ -232,6 +281,8 @@ public class NetworkImageView extends ImageView { setImageBitmap(response.getBitmap()); } else if (mDefaultImageId != 0) { setImageResource(mDefaultImageId); + } else if (mDefaultImageDrawable != null) { + setImageDrawable(mDefaultImageDrawable); } else if (mDefaultImageBitmap != null) { setImageBitmap(mDefaultImageBitmap); } @@ -245,6 +296,8 @@ public class NetworkImageView extends ImageView { private void setDefaultImageOrNull() { if (mDefaultImageId != 0) { setImageResource(mDefaultImageId); + } else if (mDefaultImageDrawable != null) { + setImageDrawable(mDefaultImageDrawable); } else if (mDefaultImageBitmap != null) { setImageBitmap(mDefaultImageBitmap); } else { |