This commit is contained in:
ponzischeme89
2026-08-21 09:54:44 +12:00
parent f1164db2c5
commit 5467fba0eb
39 changed files with 7589 additions and 5537 deletions
+26 -7
View File
@@ -2220,13 +2220,32 @@ The optional **next-episode recap or preview** extends that same auto-advance pa
next episode is known, the television searches YouTube in the background using series name,
episode code and title, ranks official previews and recaps above reactions, reviews and
breakdowns, resolves the best playable native stream, and caches the result. Playback never
waits for this work. If the setting is on and the playhead naturally crosses two minutes
remaining, the preview replaces the closing credits and then advances to the episode. Seeking
straight into that window does not trigger it. A failure before the first preview frame
silently restores the current episode at its saved position; a failure after that frame moves
on to the next episode, because the outgoing episode has already been closed. Preview time is
never reported to Emby as episode progress, and no YouTube account or embedded web player is
involved.
waits for this work. If **both** settings are on and the playhead naturally crosses two
minutes remaining, the preview replaces the closing credits and then advances to the episode.
Seeking straight into that window does not trigger it. A failure before the first preview
frame silently restores the current episode at its saved position; a failure after that frame
moves on to the next episode, because the outgoing episode has already been closed. Preview
time is never reported to Emby as episode progress, and no YouTube account or embedded web
player is involved.
**Both settings**, and that is the one thing to preserve here. This is the exception to
`shouldAutoAdvance` being the only reader of `autoPlayNextEpisode`: a preview is not an offer
a viewer can decline the way the banner and the credits pane are — it *takes over playback*
two minutes from the end and rolls into the next episode on its own — so it is part of the
automatic transition and answers to the same switch. It read only
`playNextEpisodePreview`, which meant a viewer who had turned automatic advance off still had
their episode cut away two minutes early and the next one started for them, which is exactly
what "auto-play is off and it still plays the next episode" looks like from the sofa; the
toggle's own description in Settings had promised the dependency all along and nothing
enforced it. It is checked in three places for three different reasons and all three are
needed: the *prefetch*, so a provider search is not spent on something that must never play;
`shouldStartNextEpisodePreview`, at the moment of use, because this is a synced per-profile
preference and a document pushed from another television or from the admin console arrives
mid-episode; and both ways a preview *ends* (`completeNextEpisodePreview`,
`resumeEpisodeAfterPreviewFailure` past the outgoing report), which is the setting having been
switched off while the preview played — the transition it was the opening of has to go with
it. `autoPlayNextEpisodeEnabled` is the one live reader, never a value captured when playback
started.
**Skipping is Left and Right, and it does not open anything.** `ui/player/SeekControls.kt`
holds the arithmetic and the wording; `PlayerActivity.dispatchKeyEvent` owns the keys and