Goal
Rewrite the wiki Sample App page to reflect the multi-module sample landed in #200 and refined in #202.
What's stale
The current page still describes the pre-restructure layout:
- Refers to a single
:sample module and SampleApplication.kt/buildConfigValues().
- Instructs
./gradlew :sample:assembleDebug (the assemble target is now :sample:android-app:assembleDebug).
- Does not mention the per-feature module split (
sample/feature-checkout, sample/feature-promotions, sample/feature-ui), the shared aggregator (sample/shared), or the :sample:desktop / iosApp shells.
- No mention of the per-feature
*FlagsViewModels, the 3-per-feature-ConfigValues + 1-debug-aggregator wiring on Android, or the EnumDropdown in the debug UI demonstrated by the CheckoutVariant flag.
Target content
Updated page should cover:
- Module layout (3 feature modules +
shared aggregator + android-app / desktop / iosApp shells).
- Build commands for each platform (
:sample:android-app:assembleDebug, :sample:desktop:assemble, :sample:shared:linkDebugFrameworkIosSimulatorArm64).
- How the sample demonstrates per-module
ConfigValues over a single LocalConfigValueProvider.
- How the sample wires
FeatureFlagsDebugScreen with GeneratedFeaturedRegistry.all on the debug-aggregator ConfigValues.
- The Firebase opt-in flow (
-PhasFirebase=true) if still relevant — verify against current sample/android-app/build.gradle.kts.
Pointer files
sample/android-app/src/main/kotlin/dev/androidbroadcast/featured/sample/MainActivity.kt
sample/feature-checkout/, sample/feature-promotions/, sample/feature-ui/
sample/shared/
sample/desktop/
iosApp/
Definition of Done
Related
Goal
Rewrite the wiki Sample App page to reflect the multi-module sample landed in #200 and refined in #202.
What's stale
The current page still describes the pre-restructure layout:
:samplemodule andSampleApplication.kt/buildConfigValues()../gradlew :sample:assembleDebug(the assemble target is now:sample:android-app:assembleDebug).sample/feature-checkout,sample/feature-promotions,sample/feature-ui), the shared aggregator (sample/shared), or the:sample:desktop/iosAppshells.*FlagsViewModels, the 3-per-feature-ConfigValues+ 1-debug-aggregator wiring on Android, or theEnumDropdownin the debug UI demonstrated by theCheckoutVariantflag.Target content
Updated page should cover:
sharedaggregator +android-app/desktop/iosAppshells).:sample:android-app:assembleDebug,:sample:desktop:assemble,:sample:shared:linkDebugFrameworkIosSimulatorArm64).ConfigValuesover a singleLocalConfigValueProvider.FeatureFlagsDebugScreenwithGeneratedFeaturedRegistry.allon the debug-aggregatorConfigValues.-PhasFirebase=true) if still relevant — verify against currentsample/android-app/build.gradle.kts.Pointer files
sample/android-app/src/main/kotlin/dev/androidbroadcast/featured/sample/MainActivity.ktsample/feature-checkout/,sample/feature-promotions/,sample/feature-ui/sample/shared/sample/desktop/iosApp/Definition of Done
Multi-Module SetupandDebug UIpagesRelated