I have the following setup:
* A tag 'Done' with fully listened podcasts
* The subscription filter "counter greater 0"
* The subscription counter "downloaded episodes"
This way all done podcasts aren't visible in the drawer. When I want to
tag another podcast as done, 'Done' isn't auto-completed. With this
change all tags will be auto-completed.
Users disable the setting and then wonder why other apps (like Android
Auto) do not display the cover image, even though it says so in the
setting summary.
Feed downloads are now independent from episode downloads.
This makes it easier to use WorkManager for refreshing.
Also, it will make it easier to add different refresh intervals
in the future.
Apparently some servers return "Not Modified", even though a broken feed
was fixed in the meantime. When refreshing all feeds, now force-refresh
the feeds that previously failed.
In that case:
- The service does not go through onStartCommand, so it does not go to foreground state.
- The media session is already destroyed.
Now, create a new media session and definitely start foreground service when something is playing.
Instead of pausing the entire service, only pause media playback without
telling the service. This has the following advantages:
- It's faster
- The position does not change (because it does not need to seek)
- We can definitely resume (because we still have a foreground service)
Especially the last point is important on Android 12, where we couldn't
restart after an interruption because the service cannot be started.
It can still be used to skip the rest of an episode and load the next
one into the notification/miniplayer. There is no reason to hide the
button and instead show no button at all.