oxmc 0660992001 Add OEM-pluggable destination overrides for customization options
Lets a product-specific RRO redirect a top-level customization option
to launch a different app/Intent entirely instead of PawletOS's own
built-in page (Step 1's real scoped-preview pages), without this
module needing to know about any OEM's app ahead of time.

OemOptionOverride reads config_override_component_<OPTION_NAME> (see
res/values/pawlet_oem_overrides.xml, all empty by default -- every
option keeps exactly its Step-1 behavior until an OEM sets one).
Option names are read reflectively off the option's own enum name
rather than a compile-time import, since WallpaperPicker2Lib is a
dependency *of* ThemePicker (which owns the concrete option enums),
not the reverse -- any future OEM-added option works automatically.

Wired into CustomizationPickerFragment2's single navigateToSecondary
callback: an override short-circuits to an explicit Intent launch
instead of either the built-in page or (for options ThemePicker wires
externally, see companion change there) the stock external activity.

Only covers the 5 options actually dispatched through
navigateToSecondary in this module (Clock, Shortcuts, Colors, App
icons, Grid); the other 5 (Lock screen notifications, More lock
screen settings, Screensaver, Pack theme, Color contrast) are wired
directly in ThemePicker's own ThemePickerCustomizationOptionBinder.kt
and need the companion change there to actually take effect -- their
resource keys are declared here already so the names are stable.

Confirmed live on pawlet_rpi4 (2026-10-18): no behavior change with
the (default, empty) overrides -- Colors/Icons still open as Step-1
pages, Color contrast still launches the real external activity, no
crashes navigating either path.
2026-10-18 01:08:24 -07:00
2025-07-28 17:45:19 +00:00
2025-07-28 17:03:20 -07:00
S
Description
No description provided
28 MiB
Languages
Kotlin 68.4%
Java 31.6%