diff options
author | Martin Fietz <marf@hadiko-99-4.hadiko.uni-karlsruhe.de> | 2015-04-22 19:11:42 +0200 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2015-05-19 11:58:37 +0200 |
commit | e68ca0529bf996ef961fe85009092e9b27e1f699 (patch) | |
tree | 9a030b68d380dbf81a4b4359a0fb82cf9dc2f310 /app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java | |
parent | 3301342a761f614370a15afabeaf28a0b364913a (diff) | |
download | AntennaPod-e68ca0529bf996ef961fe85009092e9b27e1f699.zip |
Mark as unplayed option
Users can mark feed items as unplayed from feed item fragment and the queue
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java index 182d57771..259d4a574 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -38,6 +38,8 @@ 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.QueueEvent; +import de.danoeh.antennapod.core.gpoddernet.model.GpodnetEpisodeAction; +import de.danoeh.antennapod.core.preferences.GpodnetPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.service.download.DownloadService; import de.danoeh.antennapod.core.service.download.Downloader; @@ -307,6 +309,11 @@ public class QueueFragment extends Fragment { menu.findItem(R.id.move_to_top_item).setEnabled(!queue.isEmpty() && queue.get(0) != item); menu.findItem(R.id.move_to_bottom_item).setEnabled(!queue.isEmpty() && queue.get(queue.size() - 1) != item); + if(item.isRead()) { + menu.findItem(R.id.mark_read_item).setVisible(false); + } else { + menu.findItem(R.id.mark_unread_item).setVisible(false); + } } @Override @@ -323,6 +330,33 @@ public class QueueFragment extends Fragment { case R.id.move_to_top_item: DBWriter.moveQueueItemToTop(getActivity(), selectedItem.getId(), true); return true; + case R.id.mark_read_item: + DBWriter.markItemRead(getActivity(), selectedItem, true, false); + selectedItem.setRead(true); + if(GpodnetPreferences.loggedIn()) { + FeedMedia media = selectedItem.getMedia(); + GpodnetEpisodeAction actionPlay = new GpodnetEpisodeAction.Builder(selectedItem, GpodnetEpisodeAction.Action.PLAY) + .currentDeviceId() + .currentTimestamp() + .started(media.getDuration() / 1000) + .position(media.getDuration() / 1000) + .total(media.getDuration() / 1000) + .build(); + GpodnetPreferences.enqueueEpisodeAction(actionPlay); + } + return true; + case R.id.mark_unread_item: + DBWriter.markItemRead(getActivity(), selectedItem, false, false); + selectedItem.setRead(false); + if(GpodnetPreferences.loggedIn()) { + GpodnetEpisodeAction actionNew = new GpodnetEpisodeAction.Builder(selectedItem, GpodnetEpisodeAction.Action.NEW) + .currentDeviceId() + .currentTimestamp() + .build(); + GpodnetPreferences.enqueueEpisodeAction(actionNew); + } + startItemLoader(); + return true; case R.id.move_to_bottom_item: DBWriter.moveQueueItemToBottom(getActivity(), selectedItem.getId(), true); return true; |