Nokia, OnePlus, OPPO, Motorola, and others will support Android 12 dynamic themes
One of the most impressive new features in Android 12 is the automatic Material You theming system, which changes the appearance of your device (specifically, the colors of certain interface elements) based on the current wallpaper. Codenamed ‘Monet,’ the theming system is currently exclusive to Google’s own Pixel devices, but now we know at least some manufacturers are planning to support some variation of it.
A new code commit (via Mishaal Rahman on Twitter) in Google’s Material Components library, titled “Add supporting manufacturer list of dynamic colors,” reveals at least some of the manufacturers that will support dynamic system themes. The current list includes OPPO, Realme, OnePlus, Vivo, Xiaomi, Motorola, Itel, Tecno Mobile, Infinix, HMD Global (manufacturer of Nokia-branded Android devices), Sharp, Sony, TCL, Lenovo, Google, and Roboelectric.
private static final Set<String> DYNAMIC_COLOR_SUPPORTED_MANUFACTURERS = new HashSet<>(Arrays.asList( "oppo", "realme", "oneplus", "vivo", "xiaomi", "motorola", "itel", "tecno mobile limited", "infinix mobility limited", "hmd global", "sharp", "sony", "tcl", "lenovo", "google", "robolectric"));
Google already confirmed that the code for Monet would be added to AOSP, the open-source code repository for Android, sometime after the initial release of Android 12. However, it was still unclear if any manufacturers besides Google would be interested in supporting dynamic themes, as many of them have their own Android skins with their own design languages.
The main catch is that the color palettes generated from your wallpaper could be different from what Google’s own Monet implementation does since manufacturers might create their own algorithms entirely. For example, the Android 12 beta for the OPPO Find X3 Pro has its own dynamic themes implementation for the system UI, and it’s likely that OPPO would utilize this engine for dynamic themes, instead of implementing the monet engine.
Also, as developer Kieron Quinn pointed out on Twitter, having the list of OEMs in the library instead of Android’s APIs could mean apps won’t support new manufacturers until they update the Material Components library in their code.
Guess this answers the question from the space the other day of who’ll support it. Slightly disappointed it’s a hardcoded list and not something exposed in the framework like a property though, as if an OEM adds (or worse drops) support every app will need to update to catch up.
— Kieron Quinn (@Quinny898) November 11, 2021
Interestingly, there is one missing name from the list: Samsung. Even though Samsung’s One UI 4 Betas include a dynamic color feature, there’s no evidence right now that it will plug into the Material Components library, so at least some third-party apps won’t use them. It’s possible more manufacturers could be added to the list before the update to Material Components is ready, though.