0.2.84
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user