diff options
author | ByteHamster <info@bytehamster.com> | 2021-04-22 22:19:02 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2021-04-22 22:19:02 +0200 |
commit | 09d402a945b42e86001f12325e00395487ac76b4 (patch) | |
tree | 58a4ddd942c85e6c6de534ead02e7907164d1ac9 | |
parent | c04f36bb9fd8ba659b7e95f16f3a5cad2521bdb9 (diff) | |
download | AntennaPod-09d402a945b42e86001f12325e00395487ac76b4.zip |
Removed PlaybackPreferences dependency from FeedMedia
7 files changed, 16 insertions, 34 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java index 139e8b5c3..17b96349b 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java @@ -49,7 +49,7 @@ public class FeedItemMenuHandler { return false; } final boolean hasMedia = selectedItem.getMedia() != null; - final boolean isPlaying = hasMedia && selectedItem.getState() == FeedItem.State.PLAYING; + final boolean isPlaying = hasMedia && FeedItemUtil.isPlaying(selectedItem.getMedia()); final boolean isInQueue = selectedItem.isTagged(FeedItem.TAG_QUEUE); final boolean fileDownloaded = hasMedia && selectedItem.getMedia().fileExists(); final boolean isFavorite = selectedItem.isTagged(FeedItem.TAG_FAVORITE); diff --git a/app/src/main/java/de/danoeh/antennapod/view/viewholder/EpisodeItemViewHolder.java b/app/src/main/java/de/danoeh/antennapod/view/viewholder/EpisodeItemViewHolder.java index e83990d43..5633ff782 100644 --- a/app/src/main/java/de/danoeh/antennapod/view/viewholder/EpisodeItemViewHolder.java +++ b/app/src/main/java/de/danoeh/antennapod/view/viewholder/EpisodeItemViewHolder.java @@ -153,7 +153,7 @@ public class EpisodeItemViewHolder extends RecyclerView.ViewHolder { duration.setText(Converter.getDurationStringLong(media.getDuration())); duration.setContentDescription(activity.getString(R.string.chapter_duration, Converter.getDurationStringLocalized(activity, media.getDuration()))); - if (item.getState() == FeedItem.State.PLAYING || item.getState() == FeedItem.State.IN_PROGRESS) { + if (FeedItemUtil.isPlaying(item.getMedia()) || item.isInProgress()) { int progress = (int) (100.0 * media.getPosition() / media.getDuration()); int remainingTime = Math.max(media.getDuration() - media.getPosition(), 0); progressBar.setProgress(progress); 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 aaa24c695..aa20bd5c9 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 @@ -265,7 +265,7 @@ public class FeedItem extends FeedComponent implements Serializable { } } - private boolean isInProgress() { + public boolean isInProgress() { return (media != null && media.isInProgress()); } @@ -312,10 +312,6 @@ public class FeedItem extends FeedComponent implements Serializable { return media != null; } - private boolean isPlaying() { - return media != null && media.isPlaying(); - } - public String getImageLocation() { if (imageUrl != null) { return imageUrl; @@ -332,18 +328,6 @@ public class FeedItem extends FeedComponent implements Serializable { UNREAD, IN_PROGRESS, READ, PLAYING } - public State getState() { - if (hasMedia()) { - if (isPlaying()) { - return State.PLAYING; - } - if (isInProgress()) { - return State.IN_PROGRESS; - } - } - return (isPlayed() ? State.READ : State.UNREAD); - } - public long getFeedId() { return feedId; } @@ -394,7 +378,7 @@ public class FeedItem extends FeedComponent implements Serializable { } public boolean isAutoDownloadable() { - if (media == null || media.isPlaying() || media.isDownloaded() || autoDownload == 0) { + if (media == null || media.isDownloaded() || autoDownload == 0) { return false; } if (autoDownload == 1) { 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 3fcd258d5..969bbd0f6 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 @@ -14,7 +14,6 @@ import android.support.v4.media.MediaDescriptionCompat; import java.util.Date; import java.util.List; -import de.danoeh.antennapod.core.preferences.PlaybackPreferences; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.util.playback.Playable; @@ -150,15 +149,6 @@ public class FeedMedia extends FeedFile implements Playable { return false; } - /** - * Reads playback preferences to determine whether this FeedMedia object is - * currently being played. - */ - public boolean isPlaying() { - return PlaybackPreferences.getCurrentlyPlayingMediaType() == FeedMedia.PLAYABLE_TYPE_FEEDMEDIA - && PlaybackPreferences.getCurrentlyPlayingFeedMediaId() == id; - } - @Override public int getTypeAsInt() { return FEEDFILETYPE_FEEDMEDIA; diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java b/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java index f8b643ccf..bea104c07 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java @@ -11,6 +11,7 @@ import de.danoeh.antennapod.core.feed.FeedFilter; import de.danoeh.antennapod.core.feed.FeedItem; import de.danoeh.antennapod.core.feed.FeedPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences; +import de.danoeh.antennapod.core.util.FeedItemUtil; import de.danoeh.antennapod.core.util.NetworkUtils; import de.danoeh.antennapod.core.util.PowerUtils; @@ -64,7 +65,8 @@ public class AutomaticDownloadAlgorithm { Iterator<FeedItem> it = candidates.iterator(); while (it.hasNext()) { FeedItem item = it.next(); - if (!item.isAutoDownloadable() || item.getFeed().isLocalFeed()) { + if (!item.isAutoDownloadable() || FeedItemUtil.isPlaying(item.getMedia()) + || item.getFeed().isLocalFeed()) { it.remove(); } } diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/FeedItemUtil.java b/core/src/main/java/de/danoeh/antennapod/core/util/FeedItemUtil.java index 438739a6f..beaba59c3 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/FeedItemUtil.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/FeedItemUtil.java @@ -80,8 +80,14 @@ public class FeedItemUtil { * Reads playback preferences to determine whether this FeedMedia object is * currently being played and the current player status is playing. */ - public static boolean isCurrentlyPlaying(FeedMedia item) { - return item.isPlaying() && PlaybackService.isRunning + public static boolean isCurrentlyPlaying(FeedMedia media) { + return isPlaying(media) && PlaybackService.isRunning && ((PlaybackPreferences.getCurrentPlayerStatus() == PlaybackPreferences.PLAYER_STATUS_PLAYING)); } + + public static boolean isPlaying(FeedMedia media) { + return PlaybackPreferences.getCurrentlyPlayingMediaType() == FeedMedia.PLAYABLE_TYPE_FEEDMEDIA + && media != null + && PlaybackPreferences.getCurrentlyPlayingFeedMediaId() == media.getId(); + } } diff --git a/core/src/test/java/de/danoeh/antennapod/core/storage/DbTasksTest.java b/core/src/test/java/de/danoeh/antennapod/core/storage/DbTasksTest.java index be9f53cdb..ef4d1aa03 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/storage/DbTasksTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/storage/DbTasksTest.java @@ -172,7 +172,7 @@ public class DbTasksTest { final Feed feedFromDB = DBReader.getFeed(newFeed.getId()); final FeedItem feedItemFromDB = feedFromDB.getItems().get(0); - assertTrue("state: " + feedItemFromDB.getState(), feedItemFromDB.isNew()); + assertTrue(feedItemFromDB.isNew()); } @Test |