add FeedMedia getter and equals method for RemoteMedia and FeedMedia
This commit is contained in:
parent
5a4fc28dcd
commit
65ddd5b0ea
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user