summaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2016-04-27 17:48:06 +0200
committerMartin Fietz <Martin.Fietz@gmail.com>2016-05-02 17:01:09 +0200
commit92d63a65707114aabf97375838760d69db33ba35 (patch)
tree7850404e01aee8d4f779fb4a3682e4b91cd5cafe /core/src/main
parentc4b0df6f09a379ff311ccab1e8e6517ae375a5ff (diff)
downloadAntennaPod-92d63a65707114aabf97375838760d69db33ba35.zip
Use strings to point to images, not uris
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/asynctask/ImageResource.java28
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/cast/RemoteMedia.java9
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/Feed.java5
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/FeedImage.java7
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/FeedItem.java9
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java10
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/playback/ExternalMedia.java5
7 files changed, 23 insertions, 50 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/asynctask/ImageResource.java b/core/src/main/java/de/danoeh/antennapod/core/asynctask/ImageResource.java
index 992321441..b01e3f3ba 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/asynctask/ImageResource.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/asynctask/ImageResource.java
@@ -1,7 +1,5 @@
package de.danoeh.antennapod.core.asynctask;
-import android.net.Uri;
-
/**
* Classes that implement this interface provide access to an image resource that can
* be loaded by the Picasso library.
@@ -9,29 +7,9 @@ import android.net.Uri;
public interface ImageResource {
/**
- * This scheme should be used by PicassoImageResources to
- * indicate that the image Uri points to a file that is not an image
- * (e.g. a media file). This workaround is needed so that the Picasso library
- * loads these Uri with a Downloader instead of trying to load it directly.
- * <p/>
- * For example implementations, see FeedMedia or ExternalMedia.
- */
- String SCHEME_MEDIA = "media";
-
-
- /**
- * Parameter key for an encoded fallback Uri. This Uri MUST point to a local image file
- */
- String PARAM_FALLBACK = "fallback";
-
- /**
- * Returns a Uri to the image or null if no image is available.
- * <p/>
- * The Uri can either be an HTTP-URL, a URL pointing to a local image file or
- * a non-image file (see SCHEME_MEDIA for more details).
+ * Returns the location of the image or null if no image is available.
* <p/>
- * The Uri can also have an optional fallback-URL if loading the default URL
- * failed (see PARAM_FALLBACK).
+ * The location can either be an URL or a local path
*/
- Uri getImageUri();
+ String getImageLocation();
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/cast/RemoteMedia.java b/core/src/main/java/de/danoeh/antennapod/core/cast/RemoteMedia.java
index 99f7b9496..a5301db17 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/cast/RemoteMedia.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/cast/RemoteMedia.java
@@ -4,6 +4,7 @@ import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
+import android.support.annotation.Nullable;
import android.text.TextUtils;
import com.google.android.gms.cast.MediaInfo;
@@ -267,11 +268,9 @@ public class RemoteMedia implements Playable {
}
@Override
- public Uri getImageUri() {
- if (imageUrl != null) {
- return Uri.parse(imageUrl);
- }
- return null;
+ @Nullable
+ public String getImageLocation() {
+ return imageUrl;
}
@Override
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/Feed.java b/core/src/main/java/de/danoeh/antennapod/core/feed/Feed.java
index 67ac2d280..bb0724d66 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/feed/Feed.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/feed/Feed.java
@@ -2,7 +2,6 @@ package de.danoeh.antennapod.core.feed;
import android.content.Context;
import android.database.Cursor;
-import android.net.Uri;
import android.support.annotation.Nullable;
import android.text.TextUtils;
@@ -501,9 +500,9 @@ public class Feed extends FeedFile implements FlattrThing, ImageResource {
}
@Override
- public Uri getImageUri() {
+ public String getImageLocation() {
if (image != null) {
- return image.getImageUri();
+ return image.getImageLocation();
} else {
return null;
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedImage.java b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedImage.java
index bd7ceb54f..f0c508830 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedImage.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedImage.java
@@ -1,7 +1,6 @@
package de.danoeh.antennapod.core.feed;
import android.database.Cursor;
-import android.net.Uri;
import java.io.File;
@@ -81,11 +80,11 @@ public class FeedImage extends FeedFile implements ImageResource {
}
@Override
- public Uri getImageUri() {
+ public String getImageLocation() {
if (file_url != null && downloaded) {
- return Uri.fromFile(new File(file_url));
+ return new File(file_url).getAbsolutePath();
} else if(download_url != null) {
- return Uri.parse(download_url);
+ return download_url;
} else {
return null;
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedItem.java b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedItem.java
index 4921c0576..8627bcda8 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedItem.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedItem.java
@@ -1,7 +1,6 @@
package de.danoeh.antennapod.core.feed;
import android.database.Cursor;
-import android.net.Uri;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -374,13 +373,13 @@ public class FeedItem extends FeedComponent implements ShownotesProvider, Flattr
}
@Override
- public Uri getImageUri() {
+ public String getImageLocation() {
if(media != null && media.hasEmbeddedPicture()) {
- return media.getImageUri();
+ return media.getImageLocation();
} else if (image != null) {
- return image.getImageUri();
+ return image.getImageLocation();
} else if (feed != null) {
- return feed.getImageUri();
+ return feed.getImageLocation();
} else {
return null;
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
index 2e4a486e6..0897ca368 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
@@ -988,12 +988,12 @@ public class PlaybackService extends Service {
builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, p.getEpisodeTitle());
builder.putString(MediaMetadataCompat.METADATA_KEY_ALBUM, p.getFeedTitle());
- if (p.getImageUri() != null && UserPreferences.setLockscreenBackground()) {
- builder.putString(MediaMetadataCompat.METADATA_KEY_ART_URI, p.getImageUri().toString());
+ if (p.getImageLocation() != null && UserPreferences.setLockscreenBackground()) {
+ builder.putString(MediaMetadataCompat.METADATA_KEY_ART_URI, p.getImageLocation().toString());
try {
if (isCasting) {
Bitmap art = Glide.with(this)
- .load(p.getImageUri())
+ .load(p.getImageLocation())
.asBitmap()
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
@@ -1003,7 +1003,7 @@ public class PlaybackService extends Service {
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Bitmap art = Glide.with(this)
- .load(p.getImageUri())
+ .load(p.getImageLocation())
.asBitmap()
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.centerCrop()
@@ -1052,7 +1052,7 @@ public class PlaybackService extends Service {
android.R.dimen.notification_large_icon_width);
try {
icon = Glide.with(PlaybackService.this)
- .load(info.playable.getImageUri())
+ .load(info.playable.getImageLocation())
.asBitmap()
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.centerCrop()
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/playback/ExternalMedia.java b/core/src/main/java/de/danoeh/antennapod/core/util/playback/ExternalMedia.java
index 412a27b95..a37f98469 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/playback/ExternalMedia.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/playback/ExternalMedia.java
@@ -3,7 +3,6 @@ package de.danoeh.antennapod.core.util.playback;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.media.MediaMetadataRetriever;
-import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
@@ -242,9 +241,9 @@ public class ExternalMedia implements Playable {
};
@Override
- public Uri getImageUri() {
+ public String getImageLocation() {
if (localFileAvailable()) {
- return new Uri.Builder().scheme(SCHEME_MEDIA).encodedPath(getLocalMediaUrl()).build();
+ return getLocalMediaUrl();
} else {
return null;
}