Improve theme uniformity across OEM devices

- Make semantic colors and the page indicator theme-aware so they keep
  adequate contrast in dark mode instead of using fixed values.
- Seed a full brand color scheme (#6C63FF) for devices without dynamic
  color (Android 11 and below) instead of falling back to Material's
  purple baseline; align the XML AppTheme accent accordingly.
- Stop manually forcing transparent system bar colors in the Compose
  theme; those setters are no-ops on Android 15+ and stripped the system
  contrast scrim, causing the half-gray navigation bar on One UI. Keep
  syncing the bar icon appearance with the active theme.
- Add a dynamic-color opt-out toggle (Android 12+), defaulting off on
  One UI where Samsung's palette extraction tends to look off.
This commit is contained in:
Rahul Patel
2026-06-03 00:12:43 +05:30
parent 98093c8f13
commit 2503a01182
10 changed files with 191 additions and 33 deletions

View File

@@ -4,5 +4,7 @@
<style name="AppTheme" parent="Theme.Material3.DynamicColors.Dark.NoActionBar">
<item name="chipStyle">@style/Chip.Filter</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<!-- Brand accent for devices without dynamic color (Android 11 and below) -->
<item name="colorPrimary">@color/colorAccent</item>
</style>
</resources>

View File

@@ -414,6 +414,8 @@
<string name="pref_theme_style_system">Follow system</string>
<string name="pref_theme_style_light">Light</string>
<string name="pref_theme_style_dark">Dark</string>
<string name="pref_ui_dynamic_color">Dynamic colors</string>
<string name="pref_ui_dynamic_color_desc">Use colors from your wallpaper. Turn off for Aurora\'s brand palette.</string>
<string name="pref_ui_layout">Layout</string>
<string name="pref_ui_layout_tab">Select default tab</string>
<string name="app_links_title">App links</string>

View File

@@ -23,6 +23,8 @@
<item name="chipStyle">@style/Chip.Filter</item>
<item name="bottomSheetStyle">@style/AppTheme.BottomSheetStyle</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<!-- Brand accent for devices without dynamic color (Android 11 and below) -->
<item name="colorPrimary">@color/colorAccent</item>
</style>
<style name="AppTheme.Translucent" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">