Skip to content

Add high-contrast Light theme option and accessible Debloater level colors - #12

Open
tommynok wants to merge 1 commit into
Order52:mainfrom
tommynok:pr/light-theme
Open

tommynok wants to merge 1 commit into
Order52:mainfrom
tommynok:pr/light-theme

Conversation

@tommynok

@tommynok tommynok commented Nov 6, 2026

Copy link
Copy Markdown

Pure OLED black is great for battery life, but for users with astigmatism, reduced contrast sensitivity, or when reading outdoors under bright sunlight, high-contrast light backgrounds cause significantly less eyestrain.

This PR adds an optional Light Theme with a focus on readability and accessibility:

  1. Light Theme Option:

    • Toggled via a switch on the Info tab ("Light theme" / "Use a light background instead of OLED black"), saved in SharedPreferences.
    • Clean, high-contrast surface (#F4F4F6 background, #FFFFFF cards, #000000 text).
    • Dynamic system status bar and navigation bar icon color adaptation (Android 6.0+ / 8.0+).
    • Bottom navigation tab bar protected with a minimum font floor (10.5sp) to keep tabs legible across screen sizes.
    • Added Spanish translations to es.tsv.
  2. Debloater Level Readability:

    • In light mode, pastel 400-range colors (#FFCA28, #FF8A65) fail WCAG AA contrast against white (dropping as low as 1.3:1).
    • Added LEVEL_COLORS_LIGHT with WCAG AA/AAA compliant tones (#1B5E20, #B25E00, #C2410C, #B71C1C).
    • Split Debloater row subtitles with SpannableStringBuilder: only the risk level tag is colored, while descriptive notes are rendered in crisp dark neutral text (#222222), greatly improving reading comfort.
    • Zero impact on dark mode: the original OLED theme is 100% untouched and byte-for-byte identical.

All scripts/check-repo.sh checks pass.

tommynok added a commit to tommynok/tinykit that referenced this pull request Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant