diff options
author | Anonymous <no-reply@google.com> | 2019-04-09 12:55:45 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-04-09 12:55:45 -0700 |
commit | 5c532a6de0f207c1d42c3ef5578b82f46c8641d1 (patch) | |
tree | 353cb45ae683a91486dc4266c97e8aa55b52189a | |
parent | bebaf01a35a6d2336e498caec00f2a662c272a5e (diff) | |
parent | ab93ab6a714a5529afe10502f8065a0eb7fa3f87 (diff) | |
download | volley-android11-d1-s5-release.tar.gz |
Import of Volley from GitHub to AOSP. am: 5de194ffbe am: eb505c21b4r_aml_301500702android-mainline-12.0.0_r55android-mainline-11.0.0_r9android-mainline-11.0.0_r8android-mainline-11.0.0_r7android-mainline-11.0.0_r6android-mainline-11.0.0_r5android-mainline-11.0.0_r45android-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r4android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r33android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r3android-mainline-11.0.0_r29android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r2android-mainline-11.0.0_r19android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12android-mainline-11.0.0_r10android-mainline-11.0.0_r1android-11.0.0_r9android-11.0.0_r8android-11.0.0_r7android-11.0.0_r48android-11.0.0_r47android-11.0.0_r46android-11.0.0_r45android-11.0.0_r44android-11.0.0_r43android-11.0.0_r42android-11.0.0_r41android-11.0.0_r40android-11.0.0_r39android-11.0.0_r38android-11.0.0_r37android-11.0.0_r36android-11.0.0_r35android-11.0.0_r34android-11.0.0_r33android-11.0.0_r32android-11.0.0_r31android-11.0.0_r30android-11.0.0_r29android-11.0.0_r28android-11.0.0_r27android-11.0.0_r26android-11.0.0_r24android-11.0.0_r23android-11.0.0_r22android-11.0.0_r21android-11.0.0_r20android-11.0.0_r19android-11.0.0_r18android-11.0.0_r16android-11.0.0_r15android-11.0.0_r14android-11.0.0_r13android-11.0.0_r12android-11.0.0_r11android-11.0.0_r10android11-qpr3-s1-releaseandroid11-qpr3-releaseandroid11-qpr2-releaseandroid11-qpr1-s2-releaseandroid11-qpr1-s1-releaseandroid11-qpr1-releaseandroid11-qpr1-d-s1-releaseandroid11-qpr1-d-releaseandroid11-qpr1-c-releaseandroid11-mainline-tethering-releaseandroid11-mainline-sparse-2021-jan-releaseandroid11-mainline-sparse-2020-dec-releaseandroid11-mainline-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-releaseandroid11-devandroid11-d2-releaseandroid11-d1-s7-releaseandroid11-d1-s6-releaseandroid11-d1-s5-releaseandroid11-d1-s1-releaseandroid11-d1-releaseandroid11-d1-b-release
am: ab93ab6a71
Change-Id: Icbeaee1104febc2c97c2ce721851f67b4bd0ca09
-rw-r--r-- | build.gradle | 19 | ||||
-rw-r--r-- | src/main/java/com/android/volley/toolbox/NetworkImageView.java | 71 | ||||
-rw-r--r-- | src/test/java/com/android/volley/toolbox/NetworkImageViewTest.java | 3 |
3 files changed, 82 insertions, 11 deletions
diff --git a/build.gradle b/build.gradle index 1765a3a..828a192 100644 --- a/build.gradle +++ b/build.gradle @@ -14,6 +14,8 @@ // include(":volley") // project(':volley').buildFileName = 'rules.gradle' +import net.ltgt.gradle.errorprone.CheckSeverity + buildscript { repositories { jcenter() @@ -26,7 +28,9 @@ buildscript { plugins { id "com.github.sherter.google-java-format" version "0.6" - id "net.ltgt.errorprone" version "0.0.13" + // NOTE: 0.7 or newer will require upgrading to a newer Android gradle plugin: + // https://github.com/tbroyer/gradle-errorprone-plugin/commit/65b1026ebeae1b7ed8c28578c7f6eea512c16bea + id "net.ltgt.errorprone" version "0.6.1" } googleJavaFormat { @@ -41,6 +45,15 @@ repositories { google() } +dependencies { + // NOTE: Updating ErrorProne introduces new checks that may cause the build to fail. Pin to a + // specific version to control these updates. + errorprone("com.google.errorprone:error_prone_core:2.3.2") + // ErrorProne requires a JDK 9 compiler, so pull one in as a dependency since we use Java 8: + // https://github.com/tbroyer/gradle-errorprone-plugin#jdk-8-support + errorproneJavac("com.google.errorprone:javac:9+181-r4173-1") +} + group = 'com.android.volley' version = '1.2.0-SNAPSHOT' @@ -55,7 +68,9 @@ android { } tasks.withType(JavaCompile) { - options.compilerArgs << "-Xep:ParameterComment:ERROR" + options.errorprone { + check("ParameterComment", CheckSeverity.ERROR) + } } apply from: 'rules.gradle' 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 { diff --git a/src/test/java/com/android/volley/toolbox/NetworkImageViewTest.java b/src/test/java/com/android/volley/toolbox/NetworkImageViewTest.java index 7705a8f..fd2073e 100644 --- a/src/test/java/com/android/volley/toolbox/NetworkImageViewTest.java +++ b/src/test/java/com/android/volley/toolbox/NetworkImageViewTest.java @@ -21,6 +21,7 @@ import static org.junit.Assert.assertNotNull; import android.content.Context; import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.ViewGroup.LayoutParams; import android.widget.ImageView.ScaleType; @@ -90,8 +91,10 @@ public class NetworkImageViewTest { assertNotNull( NetworkImageView.class.getMethod("setImageUrl", String.class, ImageLoader.class)); + assertNotNull(NetworkImageView.class.getMethod("setDefaultImageDrawable", Drawable.class)); assertNotNull(NetworkImageView.class.getMethod("setDefaultImageBitmap", Bitmap.class)); assertNotNull(NetworkImageView.class.getMethod("setDefaultImageResId", int.class)); + assertNotNull(NetworkImageView.class.getMethod("setErrorImageDrawable", Drawable.class)); assertNotNull(NetworkImageView.class.getMethod("setErrorImageBitmap", Bitmap.class)); assertNotNull(NetworkImageView.class.getMethod("setErrorImageResId", int.class)); } |