summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/asynctask/PicassoProvider.java8
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java8
2 files changed, 15 insertions, 1 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/asynctask/PicassoProvider.java b/core/src/main/java/de/danoeh/antennapod/core/asynctask/PicassoProvider.java
index e454cec7d..09fe0d654 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/asynctask/PicassoProvider.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/asynctask/PicassoProvider.java
@@ -162,7 +162,13 @@ public class PicassoProvider {
}
if (bitmap == null) {
- Log.wtf(TAG, "THIS SHOULD NEVER EVER HAPPEN!!");
+ // this should never, happen, but sometimes it does, so fallback
+ // check for fallback Uri
+ String fallbackParam = data.uri.getQueryParameter(PicassoImageResource.PARAM_FALLBACK);
+ if (fallbackParam != null) {
+ Uri fallback = Uri.parse(fallbackParam);
+ bitmap = decodeStreamFromFile(data, fallback);
+ }
}
return new Result(bitmap, Picasso.LoadedFrom.DISK);
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java
index 067095c32..999340900 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java
@@ -414,6 +414,14 @@ public class FeedMedia extends FeedFile implements Playable {
if (hasEmbeddedPicture()) {
Uri.Builder builder = new Uri.Builder();
builder.scheme(SCHEME_MEDIA).encodedPath(getLocalMediaUrl());
+
+ if (item != null && item.getFeed() != null) {
+ final Uri feedImgUri = item.getFeed().getImageUri();
+ if (feedImgUri != null) {
+ builder.appendQueryParameter(PARAM_FALLBACK, feedImgUri.toString());
+ }
+ }
+
return builder.build();
} else {
return item.getImageUri();