Skip to content

feat: Add stylized subtitles toggle - #192

Merged
ProdigyV21 merged 2 commits into
ProdigyV21:mainfrom
Himanth-reddy:feat/stylized-subtitles
May 15, 2026
Merged

feat: Add stylized subtitles toggle#192
ProdigyV21 merged 2 commits into
ProdigyV21:mainfrom
Himanth-reddy:feat/stylized-subtitles

Conversation

@Himanth-reddy

@Himanth-reddy Himanth-reddy commented May 14, 2026

Copy link
Copy Markdown
Collaborator

Addresses stylized anime subtitles request from #180

Description

Adds a new setting to enable stylized subtitles for ASS/SSA subtitle formats.

Changes

  • Added subtitle_stylized string resources.
  • Added subtitleStylized preference to PlayerUiState and SettingsUiState.
  • Updated PlayerScreen to conditionally apply setApplyEmbeddedStyles(true) and setApplyEmbeddedFontSizes(true) on SubtitleView when enabled. When disabled, the fallback custom sizes and colors via CaptionStyleCompat are used.
  • Updated SettingsScreen to include the Stylized Subtitles toggle in both the TV layout and Mobile layout, properly managing D-pad navigation indexes for the TV layout.

@ProdigyV21

Copy link
Copy Markdown
Owner

Nice feature, especially for anime ASS/SSA subtitles. The merge build passes, but I think two things should be fixed before merging.

  1. Plain subtitles can ignore the existing user subtitle appearance settings
    When subtitleStylizedPref is true, PlayerScreen only enables embedded styles/font sizes. It does not apply the user’s normal subtitle size/color/style as the fallback style. Since this setting defaults to true, normal SRT/VTT subtitles may stop respecting the existing subtitle appearance settings. The comment says user prefs are used as fallback for plain SRT/VTT, but the code only applies them in the non-stylized branch.

Please apply the user CaptionStyleCompat/fixed text size first, then enable embedded styles/font sizes only when stylized mode is on.

  1. New setting does not cloud sync
    toggleSubtitleStylized() calls syncLocalStateToCloud(), but CloudSyncRepository.CloudProfileSettings does not include/export/import subtitleStylized. So the setting is local-only and will not restore on another device.

Please add subtitleStylized to the cloud profile settings model and read/write subtitle_stylized during export/import.

Checks passed:

  • git diff --check
  • :app:compileSideloadDebugKotlin
  • :app:compilePlayDebugKotlin

@Himanth-reddy

Copy link
Copy Markdown
Collaborator Author

Addressed both review items in Himanth-reddy:feat/stylized-subtitles.

  • Plain SRT/VTT fallback styling now applies the user subtitle CaptionStyleCompat and fixed text size before toggling embedded ASS/SSA styles, so stylized mode can still honor user appearance settings for plain subtitle formats.
  • Added subtitleStylized to CloudProfileSettings and wired subtitle_stylized through cloud export/import so the setting restores across devices.

Checks passed locally:

  • git diff --check
  • ./gradlew :app:compileSideloadDebugKotlin
  • ./gradlew :app:compilePlayDebugKotlin

@ProdigyV21
ProdigyV21 merged commit 9fb39b4 into ProdigyV21:main May 15, 2026
1 of 2 checks passed
@Himanth-reddy Himanth-reddy added gssoc-approved level:intermediate Intermediate level task quality:clean Clean code implementation type:feature New feature or improvement type:design UI/UX design enhancements gssoc:approved GSSoC approved contribution and removed gssoc:approved labels Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc:approved GSSoC approved contribution level:intermediate Intermediate level task quality:clean Clean code implementation type:design UI/UX design enhancements type:feature New feature or improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants