Settings Registry
Component Detail
Service Layer
low complexity
mobile
1
Dependencies
1
Dependents
0
Entities
0
Integrations
Description
Centralized registry where each feature module registers its configurable preference options at app startup, following the same module registry pattern as navigation. Decouples the Settings Screen from individual module implementations so new modules add settings without modifying core settings code.
settings-registry
Sources & reasoning
The implementation notes explicitly require each module to register its configurable options via a settings registry analogous to the module registry pattern to avoid tight coupling to the core settings screen. This component implements that registry contract and keeps the Settings Screen generic.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- Accept module settings registrations keyed by area ID at startup
- Provide ordered list of settings sections with labels and control metadata
- Apply organization label overrides to registered setting label strings
- Validate registered preference keys against Preferences Service schema
Interfaces
registerSettings(String areaId, List<SettingDefinition> settings): void
getSettingsSections(): List<SettingsSection>
unregisterSettings(String areaId): void