Fix Android config save feedback and mirror watch reading layout
build / build (push) Successful in 3m8s
build / build (push) Successful in 3m8s
Gray out Save until settings are dirty, add a Cancel button that discards edits, reorder ReadingScreen to match the watch's build_content() (adds the missing Attitude/Outcome preview and the day-significance rank/count), and fix UI chrome to follow the app's own language setting instead of system locale (values-de/strings.xml + appStringResource()/localizedContext()).
This commit is contained in:
@@ -179,7 +179,30 @@ key-value persist API. The daily notification uses WorkManager (a
|
||||
self-rescheduling one-shot chain, not `AlarmManager`, since a "roughly
|
||||
this time daily" reminder doesn't need `AlarmManager`'s exact-alarm
|
||||
permission burden) - the Android analog of `watch/src/c/notify.c`'s own
|
||||
daily-wakeup contract.
|
||||
daily-wakeup contract. `ReadingScreen`'s layout mirrors
|
||||
`watch/src/c/ui_report_window.c`'s `build_content()` section-for-section
|
||||
(date → day significance, shown with its rank/count e.g. "Notable
|
||||
(2/4)" → a Guidance section leading with an Attitude/Outcome card
|
||||
preview, image only, then the day's top transit, then the guidance
|
||||
paragraph → the full significant-transits list → the full Celtic Cross
|
||||
spread), not the interpreter's own `--format html` layout, which orders
|
||||
sections differently and is a separate, standalone rendering path.
|
||||
|
||||
The compiled-in `.lang` strings the JNI bridge already localizes (card
|
||||
text, narrative, guidance) don't cover the Compose UI's own chrome
|
||||
(nav labels, section headings, notification text) - those are ordinary
|
||||
Android string resources, which by default resolve against the
|
||||
*device's* system locale, not `DeckConfig.lang`. Since this app's
|
||||
reading language is an explicit in-Settings choice independent of the
|
||||
system locale (`android/app/src/main/res/values-de/strings.xml` holds
|
||||
the German chrome strings), every chrome string is read through
|
||||
`ui/AppStrings.kt`'s `appStringResource()` instead of Compose's own
|
||||
`stringResource()` - it wraps the `Context` in a `Configuration`
|
||||
forced to `LocalAppLanguage` (provided once, at the root, from
|
||||
`ConfigRepository`'s `DeckConfig.lang`) via
|
||||
`util/LocaleUtils.kt`'s `Context.localizedContext()`, the same helper
|
||||
`ReadingNotificationWorker` uses for its own notification/channel text
|
||||
outside Compose entirely.
|
||||
|
||||
**CI needs network access for this target specifically** - unlike the
|
||||
CLI/Pebble build path above (deliberately zero network access needed
|
||||
|
||||
Reference in New Issue
Block a user