diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2016-04-27 17:48:06 +0200 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2016-05-02 17:01:09 +0200 |
commit | 92d63a65707114aabf97375838760d69db33ba35 (patch) | |
tree | 7850404e01aee8d4f779fb4a3682e4b91cd5cafe /core/src/main | |
parent | c4b0df6f09a379ff311ccab1e8e6517ae375a5ff (diff) | |
download | AntennaPod-92d63a65707114aabf97375838760d69db33ba35.zip |
Use strings to point to images, not uris
Diffstat (limited to 'core/src/main')
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; } |