diff options
author | Ficus Kirkpatrick <ficus@android.com> | 2015-03-06 18:29:46 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-03-06 18:29:47 +0000 |
commit | 79d00f42dd34d409cd3b2deb0a82e99a0417e340 (patch) | |
tree | 31388f8e8245ac3574d20b09bb905e9d896109f7 /src/main/java/com/android/volley/toolbox/ImageLoader.java | |
parent | c26602593286fd574bb880fe0c5e3439de890d37 (diff) | |
parent | d95219cb1c414de049f90c97fccad638b11bdc85 (diff) | |
download | volley-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.java | 26 |
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(); } } |