summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
diff options
context:
space:
mode:
authorH. Lehmann <ByteHamster@users.noreply.github.com>2020-01-11 12:47:22 +0100
committerGitHub <noreply@github.com>2020-01-11 12:47:22 +0100
commit2c45c4cd10ca23e293755e8a2049bb82e43e882f (patch)
tree1ffe80b1dafb04581aadfaba9823d7cc3f917428 /app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
parent970cdd99054ac6e6b983c7f5664c5b6c5524107d (diff)
parent7f1c24e26c831a9c73c83a15d03d51cc4a15f81e (diff)
downloadAntennaPod-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.java19
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());