Android 12’s beautiful wallpaper theming system will go open source in a future release
We’re only a couple of weeks away from the release of Android 12, but it’s important to remember that the rumored October 4th launch date is only for Google’s own Pixel phones. It’ll take weeks, or more likely months, for the update to reach other devices, and when it does, it won’t include every new feature. The most notable feature that’ll be missing from the open-source release of Android 12 — and thus won’t appear in many OEM forks of the OS — is Google’s wallpaper-based theming engine, code-named “monet.” However, it appears its exclusion from open-source Android is only temporary, as evidence has emerged that “monet” will be fully open-sourced with the release of Android 12.1.
For those of you who haven’t seen or tried out one of the Android 12 betas, you may not be aware of the major UI changes that Google is making. Android 12 will introduce the most significant UI update to the platform since 2014’s Android 5.0 Lollipop release when Google first unveiled Material Design, the company’s branding for its design language. Google’s design language has evolved over the years, and to reflect the latest iteration’s emphasis on personalization, Google has rebranded it to “Material You.”
One of the key features of Material You is the aforementioned “monet” theming system, which automatically generates a color palette for the system based on the user’s wallpaper. According to Google, a color extraction engine employing a clustering algorithm with Material color targets determines the dominant and less dominant colors of the user’s wallpaper. A palette generation algorithm then creates a rich palette of 5 colors — 2 neutral and 3 accent colors — as well as 12 shades of Material color that are used to determine the hues closest to the user’s wallpaper. These color values are saved in an index that apps can call through an API, allowing them to theme their UI as well.
When Google first unveiled its “monet” theming system back at its I/O developer conference earlier this year, the company said that it will be coming first to Google Pixel phones in the fall. However, it was unclear if Google had simply claimed first-launch exclusivity for “monet” or if the feature would be fully exclusive to Pixel phones running Android 12. In other words, we had no idea if device makers like Samsung, Xiaomi, OPPO, or OnePlus would have full access to use “monet” in their own OSes.
Unless Google mandates it (which is rare), device makers are generally free to choose whether they want to implement Google’s UI changes. In the case of “monet”, device makers would have to re-implement parts of the system, as not all facets have been open-sourced. According to kdrag0n, a developer who open-sourced his dynamic color palette generator similar to Google’s “monet”, the core color extraction and color appearance model (CAM) have both been open-sourced already, while the AOSP algorithm for post-processing/filtering of extracted colors is reportedly “pretty close” to Google’s proprietary solution. What’s mainly left to be open-sourced is the palette generation algorithm, which is a key part of the theming process.
Fortunately, it appears that Google is ready to release the source code for this algorithm. Two sources have corroborated that Google recently committed a code change titled “add monet to AOSP.” This patch was initially only available in the AOSP internal branch for Android 13 “Tiramisu”, but it was recently cherry-picked to the internal Android 12-sv2 branch.
Android 12-sv2 will be a point update accompanied by an API level bump, so we’re tentatively calling it Android 12.1. Alongside a new wallpaper, the update will also bring some minor improvements to the foldable phone experience including a taskbar feature. And, of course, it’ll apparently be the first release to include the source code for “monet.”
The screenshots below were taken from a device running an internal AOSP build of Android 12.1, showing that “monet” has been implemented in the open-source version.
We still don’t know when Google plans to release Android 12.1 to the public, so we don’t know how soon OEMs will have full access to Google’s new theming system. We can already see that Samsung’s Android 12 beta skips out on implementing Material You entirely, and there was no mention of the updated design or wallpaper-based theming in OPPO’s ColorOS 12 announcement. If either company — or any other OEM for that matter — wants its users to enjoy wallpaper-based theming on Android 12, they’ll have to implement it on their own or backport the feature. That’s certainly doable seeing as how a lot of the necessary code is already included in Android 12’s not-yet-public source code, and the remaining in Android 12.1’s, but it’s not something we can imagine every OEM will do.
Thanks to developer kdrag0n for his input on this article!