aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/android/volley/toolbox/ImageLoader.java
diff options
context:
space:
mode:
authorFicus Kirkpatrick <ficus@android.com>2015-03-06 18:29:46 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-03-06 18:29:47 +0000
commit79d00f42dd34d409cd3b2deb0a82e99a0417e340 (patch)
tree31388f8e8245ac3574d20b09bb905e9d896109f7 /src/main/java/com/android/volley/toolbox/ImageLoader.java
parentc26602593286fd574bb880fe0c5e3439de890d37 (diff)
parentd95219cb1c414de049f90c97fccad638b11bdc85 (diff)
downloadvolley-79d00f42dd34d409cd3b2deb0a82e99a0417e340.tar.gz
Merge "fix ImageLoader.getCacheKey()"
Diffstat (limited to 'src/main/java/com/android/volley/toolbox/ImageLoader.java')
-rw-r--r--src/main/java/com/android/volley/toolbox/ImageLoader.java26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/main/java/com/android/volley/toolbox/ImageLoader.java b/src/main/java/com/android/volley/toolbox/ImageLoader.java
index 995bb48..d5305e3 100644
--- a/src/main/java/com/android/volley/toolbox/ImageLoader.java
+++ b/src/main/java/com/android/volley/toolbox/ImageLoader.java
@@ -21,7 +21,6 @@ import android.os.Handler;
import android.os.Looper;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
-
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response.ErrorListener;
@@ -151,9 +150,22 @@ public class ImageLoader {
* @return True if the item exists in cache, false otherwise.
*/
public boolean isCached(String requestUrl, int maxWidth, int maxHeight) {
+ return isCached(requestUrl, maxWidth, maxHeight, ScaleType.CENTER_INSIDE);
+ }
+
+ /**
+ * Checks if the item is available in the cache.
+ *
+ * @param requestUrl The url of the remote image
+ * @param maxWidth The maximum width of the returned image.
+ * @param maxHeight The maximum height of the returned image.
+ * @param scaleType The scaleType of the imageView.
+ * @return True if the item exists in cache, false otherwise.
+ */
+ public boolean isCached(String requestUrl, int maxWidth, int maxHeight, ScaleType scaleType) {
throwIfNotOnMainThread();
- String cacheKey = getCacheKey(requestUrl, maxWidth, maxHeight);
+ String cacheKey = getCacheKey(requestUrl, maxWidth, maxHeight, scaleType);
return mCache.getBitmap(cacheKey) != null;
}
@@ -194,11 +206,11 @@ public class ImageLoader {
*/
public ImageContainer get(String requestUrl, ImageListener imageListener,
int maxWidth, int maxHeight, ScaleType scaleType) {
-
+
// only fulfill requests that were initiated from the main thread.
throwIfNotOnMainThread();
- final String cacheKey = getCacheKey(requestUrl, maxWidth, maxHeight);
+ final String cacheKey = getCacheKey(requestUrl, maxWidth, maxHeight, scaleType);
// Try to look up the request in the cache of remote images.
Bitmap cachedBitmap = mCache.getBitmap(cacheKey);
@@ -485,9 +497,11 @@ public class ImageLoader {
* @param url The URL of the request.
* @param maxWidth The max-width of the output.
* @param maxHeight The max-height of the output.
+ * @param scaleType The scaleType of the imageView.
*/
- private static String getCacheKey(String url, int maxWidth, int maxHeight) {
+ private static String getCacheKey(String url, int maxWidth, int maxHeight, ScaleType scaleType) {
return new StringBuilder(url.length() + 12).append("#W").append(maxWidth)
- .append("#H").append(maxHeight).append(url).toString();
+ .append("#H").append(maxHeight).append("#S").append(scaleType.ordinal()).append(url)
+ .toString();
}
}