summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/asynctask
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-08-03 15:11:55 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-08-03 15:11:55 +0200
commita0cedbcbed8b422188324dd2c1cabdfcf7a7dded (patch)
tree0f26f272c15faef426753fb658f0f1844b6d43e5 /src/de/danoeh/antennapod/asynctask
parent24775b9163326e01ffc7c5114597e579b4134ad7 (diff)
downloadAntennaPod-a0cedbcbed8b422188324dd2c1cabdfcf7a7dded.zip
Implemented miroguide thumbnail download in FeedImageLoader
Diffstat (limited to 'src/de/danoeh/antennapod/asynctask')
-rw-r--r--src/de/danoeh/antennapod/asynctask/FeedImageLoader.java27
-rw-r--r--src/de/danoeh/antennapod/asynctask/MiroGuideThumbnailDownloader.java2
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