Repository navigation
fix(android): use light-only theme for Auth/Sync/Onboarding screens - #309
Conversation
applySafeWindowInsets() pins the Activity root to chrome_light (#FFFFFF), but all three Activities inherited AppTheme (DayNight). In night mode, DayNight resolves textColorSecondary, textAppearanceListItem, and similar attributes to white — producing white text on a white background (ActivityWatch#300 P2). Fix: introduce AppTheme.LightOnly (Theme.AppCompat.Light.NoActionBar) and apply it to OnboardingActivity, AuthSettingsActivity, and SyncSettingsActivity. MainActivity is unaffected — it overrides applySystemBarAppearance() via the WebView theme callback and correctly follows the system night mode. Git-Session-Id: 0e11e0e3-0698-5a4e-87a4-ca86f468f5c8
|
🤖 AI code reviewAdds a new AppTheme.LightOnly style based on Theme.AppCompat.Light.NoActionBar and applies it to OnboardingActivity, AuthSettingsActivity, and SyncSettingsActivity in AndroidManifest.xml, replacing the previous AppTheme.NoActionBar on Onboarding and the inherited AppTheme on the other two. No code changes outside themes are made. Safe to merge — no P0/P1 findingsConfidence 5/5 ✅ No thread-worthy findings. Advisory notes follow; they are retained without opening review threads. 1 advisory finding (summary-only, not scored)These P2 guard, heuristic, trade-off, or documentation claims are retained for judgment without opening review threads.
This is a How this was verified: static preflight: fix-commit + touched-files scan (rule 7) Files changed (2) — the diff as I read it
Previous review passes
Reviewed Maintainer commands
|
Problem
Follow-up to #301 / #300.
After #301 switched
AppThemetoTheme.AppCompat.DayNight.NoActionBar, thenative settings screens (API Authentication, Sync Settings) and the onboarding
flow started showing white text on a white background in dark mode.
Root cause:
applySafeWindowInsets()explicitly locks the Activity rootbackground to
chrome_light = #FFFFFFfor these screens (native light chrome isintentional). But these Activities were still inheriting
AppTheme(DayNight).In night mode the DayNight parent theme resolves attributes such as
?android:attr/textColorSecondaryand?android:attr/textAppearanceListItemtowhite — producing invisible white text on the unchanged white background.
Reported by @akirad3d4 in #300 (2026-09-26).
Fix
Add
AppTheme.LightOnly(Theme.AppCompat.Light.NoActionBar) and apply it to:OnboardingActivityAuthSettingsActivitySyncSettingsActivityMainActivityis unaffected — it callsapplySystemBarAppearance()based onthe WebView's reported colour scheme and correctly follows the OS night mode.