Repository navigation
chore: Merge branch dev to main - #2
Merged
Merged
Conversation
Adds a CC row to the floating panel with size, font, background and edge controls. Both apps render captions with media3 SubtitleView and keep its styling API un-obfuscated, so this is all reflection: setApplyEmbeddedStyles(false) so the broadcaster's own formatting stops overriding, setFractionalTextSize for size, and setStyle with a CaptionStyleCompat built from setStyle's own parameter type (the class is obfuscated to a different name in each app). Re-applied when a new player attaches. Crunchyroll is not covered - it draws ASS frames to a canvas rather than using SubtitleView.
# [1.1.0-dev.1](v1.0.2...v1.1.0-dev.1) (2026-08-25) ### Features * subtitle styling for HBO Max and Disney+ ([6514870](6514870))
Crunchyroll renders subtitles with libass straight to bitmaps, so there is no text left to restyle by the time anything reaches a View - which is why the media3 approach used for HBO Max and Disney+ does not reach it. The whole ASS script does pass through SubtitlesRendererImpl.loadTrack(String) on its way to the native library though, and ASS keeps its styling as plain text, so the script is rewritten there instead. Adds size, font and outline/box chips behind a CC toggle. Column positions are read from the Format line rather than assumed, and any parse failure returns the original script untouched.
# [1.1.0-dev.2](v1.1.0-dev.1...v1.1.0-dev.2) (2026-08-25) ### Features * subtitle styling for Crunchyroll ([7f247cb](7f247cb))
The settings read straight from SharedPreferences and treated a null instance as all-defaults. The only thing that created that instance was the player view attaching, so a tap could be discarded and isModified() stayed false, leaving the script untouched - toggling appeared to do nothing. The values now live in memory as the source of truth, storage is best-effort on top, and the Context is resolved from the running Application rather than depending on a hook, because the subtitle track can load before any view hook runs. Adds logging under the StreamPlayback tag and a flag so the UI can tell 'no track loaded yet' apart from 'the patch was never applied'.
# [1.1.0-dev.3](v1.1.0-dev.2...v1.1.0-dev.3) (2026-08-25) ### Bug Fixes * make Crunchyroll subtitle settings actually take effect ([9f8683e](9f8683e))
Hooks SubtitlesRendererImpl.initialize to set a flag as soon as the subtitle renderer starts, so the controls can distinguish a missing patch from a subtitle track that has not loaded yet. Those two look identical from the player, because the CC chips come from the aspect ratio patch and appear either way.
# [1.1.0-dev.4](v1.1.0-dev.3...v1.1.0-dev.4) (2026-08-25) ### Bug Fixes * report whether the Crunchyroll subtitle hook is actually present ([74948b6](74948b6))
The diagnostic hook on SubtitlesRendererImpl.initialize coincided with subtitles not loading at all. It only ever existed to tell a missing patch apart from a not-yet-loaded track, which is not worth breaking playback for, so it is removed. Only the loadTrack hook remains.
# [1.1.0-dev.5](v1.1.0-dev.4...v1.1.0-dev.5) (2026-08-25) ### Bug Fixes * drop the initialize hook that stopped subtitles loading ([27f203b](27f203b))
# [1.1.0-dev.6](v1.1.0-dev.5...v1.1.0-dev.6) (2026-08-25) ### Features * add Viki ad removal and HD unlock patches ([9e779e9](9e779e9))
# [1.1.0-dev.7](v1.1.0-dev.6...v1.1.0-dev.7) (2026-08-25) ### Features * give the Viki player the whole screen on unfolded foldables ([1188522](1188522))
# [1.1.0-dev.8](v1.1.0-dev.7...v1.1.0-dev.8) (2026-08-25) ### Bug Fixes * add the missing Viki side-panel extension class ([e06d8d8](e06d8d8))
# [1.1.0-dev.9](v1.1.0-dev.8...v1.1.0-dev.9) (2026-08-25) ### Bug Fixes * attach only the current release's .mpp, not the previous one too ([f7dec69](f7dec69))
"Enable speed control" unhid the player's speed menu; "Add fast playback
speeds" widened the table behind it from {1.0, 0.75, 0.5} to 0.5x-2.0x.
Neither was any use without the other - the flag alone unhides a menu that
cannot speed anything up, and the wider table alone is written into a menu
that is never shown - so there was no combination worth offering as a
separate toggle. They are now one patch, "Playback speed".
It also declares extendWith, which "Add fast playback speeds" never did
despite calling into SpeedHelper; it only ever worked because the aspect
ratio and subtitle patches pulled the extension in.
Drops SpeedHelper.isSpeedControlEnabled() with them, dead since the flag
started being forced in bytecode rather than read from the extension.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0182tbUpUHZC4CWLgr3xG4AS
The intro still described three apps and promised "no ad, tracker, region or unlock patches here". Viki has been in the bundle since v1.1.0-dev.6 with an ad patch and a full-screen player patch, and subtitle styling landed for all four apps, so both claims were wrong. Adds Viki to the app table, keeps the DRM/entitlement disclaimer that is still true, writes up why the Viki HD unlock was removed, and covers the Crunchyroll libass subtitle rewrite, Viki's missing setPlaybackSpeed and the foldable comments panel in "How it works". The generated patch list is left for CI to regenerate on the next release; the Crunchyroll rows are corrected in place so the tree is not self-contradicting in the meantime. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0182tbUpUHZC4CWLgr3xG4AS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request will Merge branch
devtomain.