diff options
author | H. Lehmann <ByteHamster@users.noreply.github.com> | 2020-01-11 12:47:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-11 12:47:22 +0100 |
commit | 2c45c4cd10ca23e293755e8a2049bb82e43e882f (patch) | |
tree | 1ffe80b1dafb04581aadfaba9823d7cc3f917428 /app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java | |
parent | 970cdd99054ac6e6b983c7f5664c5b6c5524107d (diff) | |
parent | 7f1c24e26c831a9c73c83a15d03d51cc4a15f81e (diff) | |
download | AntennaPod-2c45c4cd10ca23e293755e8a2049bb82e43e882f.zip |
Merge pull request #3743 from txtd/mark-as-played
Show "mark as read" rather than "mark as play" in case item has no media
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java index d583c0e1e..34b102ca8 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java @@ -116,7 +116,7 @@ public class EpisodesApplyActionFragment extends Fragment { public static EpisodesApplyActionFragment newInstance(List<FeedItem> items, int actions) { EpisodesApplyActionFragment f = new EpisodesApplyActionFragment(); f.episodes.addAll(items); - for(FeedItem episode : items) { + for (FeedItem episode : items) { f.idMap.put(episode.getId(), episode); } f.actions = actions; @@ -411,7 +411,7 @@ public class EpisodesApplyActionFragment extends Fragment { private void refreshTitles() { titles.clear(); - for(FeedItem episode : episodes) { + for (FeedItem episode : episodes) { titles.add(episode.getTitle()); } mAdapter.notifyDataSetChanged(); @@ -457,8 +457,15 @@ public class EpisodesApplyActionFragment extends Fragment { } private void queueChecked() { - DBWriter.addQueueItem(getActivity(), true, checkedIds.toArray()); - close(R.plurals.added_to_queue_batch_label, checkedIds.size()); + // Check if an episode actually contains any media files before adding it to queue + LongList toQueue = new LongList(checkedIds.size()); + for (FeedItem episode : episodes) { + if (checkedIds.contains(episode.getId()) && episode.hasMedia()) { + toQueue.add(episode.getId()); + } + } + DBWriter.addQueueItem(getActivity(), true, toQueue.toArray()); + close(R.plurals.added_to_queue_batch_label, toQueue.size()); } private void removeFromQueueChecked() { @@ -479,7 +486,7 @@ public class EpisodesApplyActionFragment extends Fragment { private void downloadChecked() { // download the check episodes in the same order as they are currently displayed List<FeedItem> toDownload = new ArrayList<>(checkedIds.size()); - for(FeedItem episode : episodes) { + for (FeedItem episode : episodes) { if(checkedIds.contains(episode.getId()) && episode.hasMedia()) { toDownload.add(episode); } @@ -494,7 +501,7 @@ public class EpisodesApplyActionFragment extends Fragment { } private void deleteChecked() { - for(long id : checkedIds.toArray()) { + for (long id : checkedIds.toArray()) { FeedItem episode = idMap.get(id); if(episode.hasMedia()) { DBWriter.deleteFeedMediaOfItem(getActivity(), episode.getMedia().getId()); |