I agree too, i am coming from Google podcasts and use this feature very often.
I’m new to the community (and Android development! but not code entirely, I have a background with formal verification) but just made an account as I’d love to see this implemented too; just forked the repo and will give implementing this a swing.
Beware, implementation is already occuring with this PR :
develop ← eblis:fix/2146
opened 10:42AM - 12 Jun 25 UTC
### Description
Reimplementation of PR #7247, but with changes from PR #7713.
… The sleep timers no longer have a thread, they rely on `PlaybackPositionEvent` event to be notified about current playback.
This pull request adds on top of the features made in #7713 and also adds Episode sleep timer.
I kept the "new" (added in #7247) `PlaybackEndedEvent` event as a reliable way to determine when an episode completed. I played around a bit with the duration and remaining time in `PlaybackPositionEvent` but it seemed unreliable.
This has a few minor changes compared to the old pull request #7247, notably:
- When using episode sleep timers, playback no longer finishes on the next episode, it stops at the end of the last episode (like time based sleep timers do)
- Similar to time based sleep timers, the last few seconds of the last episode will now reduce volume right before stopping.
- There is now a difference between shown timers (display timers, which can be episode counts or seconds) and remaining duration (which is always milis) - in the previous pull request we were using milis everywhere and the episode counter class was trying to be smart about the values and convert from milis to episodes - now we provide 2 values, one to show to the user and another one to use as milis duration.
### Checklist
- [x] I have read the contribution guidelines: https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request
- [x] I have performed a self-review of my code
- [x] I have run the automated code checks using `./gradlew checkstyle spotbugsPlayDebug spotbugsDebug :app:lintPlayDebug`
- [x] My code follows the style guidelines of the AntennaPod project: https://github.com/AntennaPod/AntennaPod/wiki/Code-style
- [x] I have mentioned the corresponding issue and the relevant keyword (e.g., "Closes: #xy") in the description (see https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- [x] If it is a core feature, I have added automated tests
I too came here looking for this. I see that the PR is merged, so hopefully it’s close.
keunes
April 11, 2026, 5:08pm
25
This was released with version 3.11 . Marking it as solved and closing, so the votes can be used for another feature request