summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/asynctask/FeedImageLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/danoeh/antennapod/asynctask/FeedImageLoader.java')
-rw-r--r--src/de/danoeh/antennapod/asynctask/FeedImageLoader.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/asynctask/FeedImageLoader.java b/src/de/danoeh/antennapod/asynctask/FeedImageLoader.java
index 8e25780d5..c7430f90f 100644
--- a/src/de/danoeh/antennapod/asynctask/FeedImageLoader.java
+++ b/src/de/danoeh/antennapod/asynctask/FeedImageLoader.java
@@ -133,6 +133,28 @@ public class FeedImageLoader {
target.setImageResource(R.drawable.default_cover);
}
}
+
+ public void loadMiroGuideThumbnail(MiroChannel channel, ImageView target) {
+ if (channel.getThumbnailUrl() != null) {
+ Bitmap bitmap = getBitmapFromThumbnailCache(channel.getThumbnailUrl());
+ if (bitmap != null) {
+ boolean isInDiskCache = false;
+ try {
+ isInDiskCache = isInThumbnailDiskCache(channel.getThumbnailUrl());
+ } catch (IOException e) {
+ e.printStackTrace();
+ Log.e(TAG, "Error when trying to read disk cache");
+ }
+ if (isInDiskCache) {
+ new MiroGuideDiskCacheLoader(target, channel, LENGTH_BASE_THUMBNAIL).executeAsync();
+ } else {
+ new MiroGuideThumbnailDownloader(target, channel, LENGTH_BASE_THUMBNAIL).executeAsync();
+ }
+ }
+ } else {
+ target.setImageResource(R.drawable.default_cover);
+ }
+ }
public void wipeImageCache() {
coverCache.evictAll();
@@ -162,6 +184,11 @@ public class FeedImageLoader {
public void addBitmapToCoverCache(String key, Bitmap bitmap) {
coverCache.put(key, bitmap);
}
+
+ public boolean isInThumbnailDiskCache(String key) throws IOException {
+ DiskLruCache cache = openThubmnailDiskCache();
+ return cache.get(key) != null;
+ }
class FeedImageDecodeWorkerTask extends BitmapDecodeWorkerTask {