Skip to content

AnimeTVOne v1.3.3

Choose a tag to compare

@4losrt 4losrt released this 16 Oct 21:33
· 5 commits to main since this release

AnimeTVOne v1.3.3 — Player fixes & episode picker

Deep review of the player (PlayerScreen / PlayerViewModel / control logic).

Bugs fixed

  • History was never saved when leaving the player. The DisposableEffect
    captured the first composition's uiState (always null anime/episode), so
    the resume position was lost on exit. Now reads the latest values
    (rememberUpdatedState), so resume-on-reopen works.
  • Stale episode list when switching anime. The previous anime's episodes
    lingered, so "下一集" could operate on the wrong list (or vanish). The list is
    now cleared immediately when the anime changes.
  • Retry did not reload. A player error with the same stream URL could not be
    retried because the state never changed. A retryCount now forces a reload.
  • Scrubbing on an unknown duration (-1/0 until prepared) jumped to a
    nonsense position; scrubs are now ignored until the duration is known.

Playback experience

  • In-player episode picker ("選集" button): a full-screen list of episodes,
    focus lands on the currently playing one, DPAD scrolls, OK switches episode.
  • Playback speed and aspect ratio now persist across episodes (moved into the
    ViewModel state — previously local state that reset on every change).
  • Control bar auto-hide resets on interaction and never hides while the
    episode picker is open.
  • Back button priority: episode picker → control bar → leave the player.
  • Full-screen system-bar handling now uses WindowInsetsControllerCompat
    (works on API 25+; removed deprecated flags).
  • Quality badge is now the real stream quality when available, otherwise a
    neutral "高清" — no more fabricated "1080P" in player/home/detail.

Verified

  • 32/32 unit tests pass (3 new PlayerViewModel tests: prefs persistence, stale
    episodes, episode-list/retry).
  • assembleRelease (R8) BUILD SUCCESSFUL; lint clean.

Install: self-signed (debug key) APK for sideloading; installs over earlier builds.