Mark as unplayed option
Users can mark feed items as unplayed from feed item fragment and the queue
This commit is contained in:
parent
3301342a76
commit
e68ca0529b
@ -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;
|
||||
|
@ -5,7 +5,6 @@ import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.core.BuildConfig;
|
||||
import de.danoeh.antennapod.core.feed.FeedItem;
|
||||
import de.danoeh.antennapod.core.feed.FeedMedia;
|
||||
import de.danoeh.antennapod.core.gpoddernet.model.GpodnetEpisodeAction;
|
||||
@ -100,8 +99,7 @@ public class FeedItemMenuHandler {
|
||||
mi.setItemVisibility(R.id.share_link_item, false);
|
||||
}
|
||||
|
||||
if (!BuildConfig.DEBUG
|
||||
|| !(state == FeedItem.State.IN_PROGRESS || state == FeedItem.State.READ)) {
|
||||
if (!(state == FeedItem.State.IN_PROGRESS || state == FeedItem.State.READ)) {
|
||||
mi.setItemVisibility(R.id.mark_unread_item, false);
|
||||
}
|
||||
if (!(state == FeedItem.State.NEW || state == FeedItem.State.IN_PROGRESS)) {
|
||||
|
@ -7,6 +7,16 @@
|
||||
android:menuCategory="container"
|
||||
android:title="@string/move_to_top_label" />
|
||||
|
||||
<item
|
||||
android:id="@+id/mark_read_item"
|
||||
android:menuCategory="container"
|
||||
android:title="@string/mark_read_label" />
|
||||
|
||||
<item
|
||||
android:id="@+id/mark_unread_item"
|
||||
android:menuCategory="container"
|
||||
android:title="@string/mark_unread_label" />
|
||||
|
||||
<item
|
||||
android:id="@+id/remove_from_queue_item"
|
||||
android:menuCategory="container"
|
||||
|
Loading…
x
Reference in New Issue
Block a user