This service provides first-class custom ROM integration for my Repainter app, which offers customizable dynamic theming for Android 12.
- Convenient for users (no prompts necessary)
- Faster and more reliable than root and Shizuku backends
- Full functionality with all customization (no limitations), even on the January security patch
- ROM-specific configuration: dynamic boot animation colors, etc.
- Versioned API
- Security: permission guarded by client signature
- Supports Direct Boot
- Automatically clean up themes on uninstall
- Link to app website in Settings -> App details -> Repainter Integration Service for users to see what the service is for (no launcher icon)
Clone this repository to packages/apps/RepainterServicePriv
.
This step is optional, but highly encouraged for better integration.
The easiest way to configure the Repainter service is by forking the repository and editing res/values/config.xml. The config is documented with examples and comments, so configuration should be trivial.
You can also make a copy of config.xml and add it to an overlay package in PRODUCT_PACKAGE_OVERLAYS
, such as vendor/proton/overlay/packages/apps/RepainterServicePriv/res/values/config.xml
, and edit the overlay copy instead.
Add RepainterServicePriv
to PRODUCT_PACKAGES
somewhere in order to build the service:
# Repainter integration
PRODUCT_PACKAGES += \
RepainterServicePriv \