summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDomingos Lopes <domingos86lopes+github@gmail.com>2016-03-27 12:30:17 -0400
committerDomingos Lopes <domingos86lopes+github@gmail.com>2016-04-23 21:39:55 -0400
commit65ddd5b0ea42981984653f2982c2579564a758fa (patch)
tree60fd02212bee9ffd6e09cdcad469fc23039fbadb
parent5a4fc28dcd737f8ccc4e97b13a9d714cf7fe1caa (diff)
downloadAntennaPod-65ddd5b0ea42981984653f2982c2579564a758fa.zip
add FeedMedia getter and equals method for RemoteMedia and FeedMedia
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/cast/RemoteMedia.java31
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/FeedMedia.java9
2 files changed, 40 insertions, 0 deletions
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 ab09a8cbc..2248f34cd 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
@@ -16,7 +16,11 @@ import java.util.List;
import java.util.concurrent.Callable;
import de.danoeh.antennapod.core.feed.Chapter;
+import de.danoeh.antennapod.core.feed.Feed;
+import de.danoeh.antennapod.core.feed.FeedItem;
+import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.feed.MediaType;
+import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.util.CastUtils;
import de.danoeh.antennapod.core.util.ChapterUtils;
import de.danoeh.antennapod.core.util.playback.Playable;
@@ -116,6 +120,10 @@ public class RemoteMedia implements Playable {
return builder.build();
}
+ public FeedMedia lookForFeedMedia() {
+ return DBReader.getFeedItem(feedUrl, itemIdentifier).getMedia();
+ }
+
@Override
public void writeToPreferences(SharedPreferences.Editor prefEditor) {
//it seems pointless to do it, since the session should be kept by the remote device.
@@ -313,4 +321,27 @@ public class RemoteMedia implements Playable {
return new RemoteMedia[size];
}
};
+
+ @Override
+ public boolean equals(Object other) {
+ if (other instanceof RemoteMedia) {
+ RemoteMedia rm = (RemoteMedia) other;
+ return TextUtils.equals(downloadUrl, rm.downloadUrl) &&
+ TextUtils.equals(feedUrl, rm.feedUrl) &&
+ TextUtils.equals(itemIdentifier, rm.itemIdentifier);
+ }
+ if (other instanceof FeedMedia) {
+ FeedMedia fm = (FeedMedia) other;
+ if (!TextUtils.equals(downloadUrl, fm.getStreamUrl())) {
+ return false;
+ }
+ FeedItem fi = fm.getItem();
+ if (fi == null || !TextUtils.equals(itemIdentifier, fi.getItemIdentifier())) {
+ return false;
+ }
+ Feed feed = fi.getFeed();
+ return feed != null && TextUtils.equals(feedUrl, feed.getDownload_url());
+ }
+ return false;
+ }
}
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 991499316..fa663f7da 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
@@ -13,6 +13,7 @@ import java.util.Date;
import java.util.List;
import java.util.concurrent.Callable;
+import de.danoeh.antennapod.core.cast.RemoteMedia;
import de.danoeh.antennapod.core.preferences.PlaybackPreferences;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.DBReader;
@@ -579,4 +580,12 @@ public class FeedMedia extends FeedFile implements Playable {
hasEmbeddedPicture = Boolean.FALSE;
}
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof RemoteMedia) {
+ return o.equals(this);
+ }
+ return super.equals(o);
+ }
}