-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels indicating feeds and items "read"/"unread"/"in progress" counts and states #46
Conversation
A FeedItem should be considered "in progress" when the user started listening or watching the media, but did not complete it yet.
Great idea! And i really like the implementation of it, too. There are some small issues that i noticed:
Thank you very much for implementing this feature! |
|
Don't change the playback completion date when marking an episode as "read" or "unread"
The unreadItems list contains items that are "in progress", so we need to save the media.
Great, it looks like saving seems to work now. I found two more aspects which might be worth thinking about.
In my opinion the 'unread and in progress' state is not really very useful, because an item can only be considered 'unread' if you have not listened to it yet or haven't started listening. The user also can't distinguish between the 'read and in progress' and the 'unread and in progress' state which can be a bit confusing. So i think the 'unread and in progress' state should be 'removed' by marking an item as 'read' as soon as you start listening to it.
|
Update: I have added some methods to check if an item is currently being played in commit 0762e7b. |
public enum State { NEW, IN_PROGRESS, READ }
public State getState() {
if (media != null && media.isInProgress())
return State.IN_PROGRESS;
else
return (read ? State.READ : State.NEW);
} What I am undecided about is the following: Should the new items pane contain episodes that are in progress (I think I would prefer this) or not?
|
Conflicts: src/de/danoeh/antennapod/feed/FeedItem.java
I agree. And maybe there should also be a PLAYING state in the 'State' enum (I have added a method called isPlaying() to the FeedItem class which makes it easy to check for that). But on the other hand it also makes sense to leave an item in the new list when a user has started listening to it, because he might not have added it to the queue yet and then he won't find it again later where he would expect to find it. I think there are two solutions for that problem:
Which solution do you think is better? |
I had a look at your isPlaying() method and noticed one little flaw: It doesn't check if there is any media playing at all, so it will also return true if the item is the last played media but finished playing already. About the use of the new items list and the queue I am still not sure. Before I discovered AntennaPod I used DoggCatcher. The way it works there is the following:
The things I am not sure about are:
|
You are right, i didn't think of that case. I added a separate sharedPreference that will set the id of the currently playing media when the user has started playback and that will be reset if playback has finished. So the isPlaying() method should now work as expected (but an item will still be in playing state if it is currently paused because in that case 'mark as (un)read' would also have the same unexpected effects.)
But of course that depends on the users' preferences and i might reorganize the main screen in the future but at the moment i don't know how this new main screen should look like. |
Hi, I recently discovered AntennaPod while searching for a replacement to Google Listen, and I really like it so far. I'd like to contribute to the project, though I have very limited in time lately. At any rate, I had a comment regarding a question in this thread.
The automatic queuing feature was the first thing I enabled, so my opinion is also biased towards being a heavy user. That being said, I would suggest that starting an episode should remove it from the new list, and add it to the top of the queue. Once I'm done with it, I generally want to go to the next item on my list anyway, so it seems natural to me. |
I like the idea of showing the the currently playing episode in the queue, but what should happen if the user first starts an episode (which would then be added to the queue), but then switches to another episode before actually finishing it? I think it would then make sense to not show this episode in the queue anymore (unless you have added it directly) because the user might not want to listen to it anymore. @patheticpat I think it would be great if your pull request was in the upcoming release (0.9.6). Are you working on any more commits on this branch or can i merge it now? |
I agree with that. I would even extend it to the general case of removing an episode from the queue even if it was manually added. I can think of two cases where this could be a little problematic.
Conceptually, I think the difference is between saying "I'm done with this", and "I don't want to listen to this now, but I want to come back to it later". I don't know how this would be best represented, but I think the "I'm done with this" action seems to be missing. In other applications I would use the next-track button. |
@danieloeh I am not working on this branch right now, so if you want to merge it, that's fine by me. |
OK, i have now merged the changes in this branch so they are going to be in the next release. I think the queue definitely has to be improved in the near future. In my opinion this list is supposed to show all items the user wants to listen to in the future or is currently listening to (i.e. 'in progress' items), but the queue currently only shows items the user is planning to listen to. So there should be an additional list section that shows these 'in progress' items so that the user can switch to another episode before finishing it and come back later very easily. Also, the 'mark as read' button is pretty much the "i'm done with this" button but it doesn't always behave as you would expect it (for example it would make sense to remove an item from the queue if you are done with it). That is because this button wasn't made for this purpose but for marking a 'new' item as read and not actually an 'in progress' item. So maybe there should be a new button for marking something as listened? Please post any ideas you have on this topic into a new issue instead of posting it here, since this pull request is closed now. |
The changes in this branch all revolve about the concept of episodes that were started listening to but aren't finished yet.