diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-08-03 15:11:55 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-08-03 15:11:55 +0200 |
commit | a0cedbcbed8b422188324dd2c1cabdfcf7a7dded (patch) | |
tree | 0f26f272c15faef426753fb658f0f1844b6d43e5 /src | |
parent | 24775b9163326e01ffc7c5114597e579b4134ad7 (diff) | |
download | AntennaPod-a0cedbcbed8b422188324dd2c1cabdfcf7a7dded.zip |
Implemented miroguide thumbnail download in FeedImageLoader
Diffstat (limited to 'src')
-rw-r--r-- | src/de/danoeh/antennapod/asynctask/FeedImageLoader.java | 27 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/asynctask/MiroGuideThumbnailDownloader.java | 2 |
2 files changed, 28 insertions, 1 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 { diff --git a/src/de/danoeh/antennapod/asynctask/MiroGuideThumbnailDownloader.java b/src/de/danoeh/antennapod/asynctask/MiroGuideThumbnailDownloader.java index 00776c4a2..98b7ba04c 100644 --- a/src/de/danoeh/antennapod/asynctask/MiroGuideThumbnailDownloader.java +++ b/src/de/danoeh/antennapod/asynctask/MiroGuideThumbnailDownloader.java @@ -73,7 +73,7 @@ public class MiroGuideThumbnailDownloader extends BitmapDecodeWorkerTask { output.write(inputBuffer, 0, count); } output.close(); - + if (AppConfig.DEBUG) Log.d(TAG, "MiroGuide thumbnail downloaded"); // Get a smaller version of the bitmap and store it inside the // LRU // Cache |