Android theming has come a long way, from applying custom overlays via Substratum and now Android 12‘s Material You wallpaper-based theme engine (codenamed “monet”). Despite all of its high points, Google has yet to publish the resources and libraries on the dynamic theming component of Material You, which is why most third-party apps don’t support this feature yet. Fortunately, Google’s implementation has already been reverse-engineered. Danny Lin, aka XDA Senior Member kdrag0n successfully recreated the Pixel-exclusive dynamic theming and made it open source, so that custom ROM developers can easily incorporate it in their builds. Now, kdrag0n has released a new theming app called Repainter to give end users even more customization options for the Material You’s colors.
What is Repainter?
Generating a dynamic color palette based on the current wallpaper is no simple task. A color extraction engine with Material color targets determines the dominant and less dominant colors. Next, a palette generation algorithm creates a rich palette consisting of both neutral and accent colors and shades that are used to determine the hues closest to the user’s wallpaper. However, there is no option for custom user inputs in Google’s algorithm. This is exactly where Repainter comes in. The app aims to unlock the full potential of dynamic coloring, from picking colors outside of the current wallpaper to altering the brightness as well as colorfulness parameters.
How does this work?
Under the hood, the app utilizes a loophole in the Fabricated Overlay API that allows not-root shell users to apply newly generated color and dimension overlays on the fly. As a result, it could be possible to use Repainter without root access, albeit the process isn’t as straightforward as you think. You have to opt for a solution like Shizuku to gain the required shell-level access.
There is a catch, though. The loophole was already patched in Android 12L Beta 1, and Google decided to backport the patch to Android 12 with the January 2022 security update (via Mishaal Rahman). While rooted users can still harness the true power of Repainter, you can only access the color selection and custom color picker modules in an unrooted Android instance – advanced customization is no longer possible.
Repainter works with all Android 12 ROMs, including OEM skins like Samsung One UI, Xiaomi’s MIUI, and OxygenOS from OnePlus. Keep in mind that a handful of manufacturers use their own colors instead of the Material You colorset, hence the system UI might not be themeable on some devices.
Where can I get it?
The official Telegram group for Repainter is the home of this new project, and is where you can find the latest development updates. As for the app, you can find it on the Google Play Store by following the link below: