Skip to main content

OEM Cabin RRO sketch (illustrative)

Documentation-only sketch for a platform Runtime Resource Overlay that rebrands Cabin Theme Kit without forking widgets (ADR 0003, theme-kit).

Not a buildable product module in this repo — copy into the OEM Android tree.

Layout

OemCabinThemeRRO/
├── Android.bp
├── AndroidManifest.xml
└── res/values/colors.xml

Android.bp

runtime_resource_overlay {
name: "OemCabinThemeRRO",
resource_dirs: ["res"],
manifest: "AndroidManifest.xml",
sdk_version: "system_current",
}

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.oem.cabin.theme.rro">
<application android:hasCode="false" />
<!-- targetPackage: the APK that hosts Theme.Cabin / CabinViews resources -->
<overlay
android:targetPackage="com.android.systemui"
android:isStatic="true"
android:priority="10" />
</manifest>

res/values/colors.xml

<resources>
<!-- Brand-facing only -->
<color name="cabin_color_semantic_primary">#1565C0</color>
<color name="cabin_color_semantic_onPrimary">#FFFFFF</color>

<!-- Do NOT override for decoration:
cabin_color_scheme_warning
cabin_color_scheme_error
cabin_color_semantic_warning
cabin_color_semantic_error
night contrast-locked charging -->
</resources>

Widgets keep resolving ?attr/cabin_colorPrimary via Theme Kit; the RRO changes the underlying resource.