
In the past, we’ve talked about how Fabricated Overlays can be used to bring back rootless theming. RROs haven’t gone anywhere, and Material You works through the Fabricated Overlays API. What happened to Runtime Resource Overlays (RROs)? Once applied, you get all of your pretty system-wide colors that can be implemented into the system UI, apps, and more. The lightness is used for calculating a contrast ratio, guaranteeing readability. L* for perceived brightness/lightness, and a* and b* for the four unique colors of human vision - red, green, blue, and yellow. Afterward, those colors are mapped back to RGB for setting colors throughout the system.ĬIELAB is sometimes also referred to as “L*a*b*”. The CAM16 color appearance model is used for sorting and filtering the colors to determine the actual seed color, and then palettes are generated using that seed color. It extracts up to 128 colors from the wallpaper to the CIELAB color space as an intermediary, then those colors are mapped to CAM16. Dynamic theming or custom theming uses values in these tonal palettes to set the theme attributes for that color range. From these colors, the algorithm creates tonal palettes ranging from 0% luminance (BLACK) to 100% (WHITE). At the same time, it is applying color theory and accessibility rules.

Two neutral colors are also chosen which give Material You its overall tint. When a user changes their wallpaper on an Android 12 device, the image is analyzed to select a color and algorithmically choose Primary, Secondary, Tertiary, and Error colors using an initial seed color.
