Skip to content

Commit 169bbca

Browse files
Material Design Teamimhappi
authored andcommitted
[M3][Color] Added support for missing color roles.
PiperOrigin-RevId: 495423456
1 parent 2465192 commit 169bbca

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

lib/java/com/google/android/material/color/MaterialColorUtilitiesHelper.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,11 @@ private MaterialColorUtilitiesHelper() {}
3333

3434
private static final Map<Integer, DynamicColor> colorResourceIdToColorValue;
3535
static {
36-
// TODO(b/261178654): Add the missing primaryInverse, surfaceInverse, onSurfaceInverse and
37-
// outlineVariant in MCU.
3836
Map<Integer, DynamicColor> map = new HashMap<>();
3937
map.put(R.color.material_personalized_color_primary, MaterialDynamicColors.primary);
4038
map.put(R.color.material_personalized_color_on_primary, MaterialDynamicColors.onPrimary);
41-
// map.put(R.color.material_personalized_color_primary_inverse,
42-
// MaterialDynamicColors.primaryInverse);
39+
map.put(
40+
R.color.material_personalized_color_primary_inverse, MaterialDynamicColors.primaryInverse);
4341
map.put(
4442
R.color.material_personalized_color_primary_container,
4543
MaterialDynamicColors.primaryContainer);
@@ -71,10 +69,11 @@ private MaterialColorUtilitiesHelper() {}
7169
map.put(
7270
R.color.material_personalized_color_on_surface_variant,
7371
MaterialDynamicColors.onSurfaceVariant);
74-
// map.put(R.color.material_personalized_color_surface_inverse,
75-
// MaterialDynamicColors.surfaceInverse);
76-
// map.put(R.color.material_personalized_color_on_surface_inverse,
77-
// MaterialDynamicColors.onSurfaceInverse);
72+
map.put(
73+
R.color.material_personalized_color_surface_inverse, MaterialDynamicColors.surfaceInverse);
74+
map.put(
75+
R.color.material_personalized_color_on_surface_inverse,
76+
MaterialDynamicColors.onSurfaceInverse);
7877
map.put(
7978
R.color.material_personalized_color_surface_bright, MaterialDynamicColors.surfaceBright);
8079
map.put(R.color.material_personalized_color_surface_dim, MaterialDynamicColors.surfaceDim);
@@ -94,8 +93,8 @@ private MaterialColorUtilitiesHelper() {}
9493
R.color.material_personalized_color_surface_container_highest,
9594
MaterialDynamicColors.surfaceAdd2);
9695
map.put(R.color.material_personalized_color_outline, MaterialDynamicColors.outline);
97-
// map.put(R.color.material_personalized_color_outline_variant,
98-
// MaterialDynamicColors.outlineVariant);
96+
map.put(
97+
R.color.material_personalized_color_outline_variant, MaterialDynamicColors.outlineVariant);
9998
map.put(R.color.material_personalized_color_error, MaterialDynamicColors.error);
10099
map.put(R.color.material_personalized_color_on_error, MaterialDynamicColors.onError);
101100
map.put(

lib/java/com/google/android/material/color/utilities/MaterialDynamicColors.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ public static DynamicColor highestSurface(DynamicScheme s) {
4545
public static final DynamicColor surface =
4646
DynamicColor.fromPalette((s) -> s.neutralPalette, (s) -> s.isDark ? 6.0 : 98.0);
4747

48+
public static final DynamicColor surfaceInverse =
49+
DynamicColor.fromPalette((s) -> s.neutralPalette, (s) -> s.isDark ? 90.0 : 20.0);
50+
4851
public static final DynamicColor surfaceBright =
4952
DynamicColor.fromPalette((s) -> s.neutralPalette, (s) -> s.isDark ? 24.0 : 98.0);
5053

@@ -70,6 +73,10 @@ public static DynamicColor highestSurface(DynamicScheme s) {
7073
DynamicColor.fromPalette(
7174
(s) -> s.neutralPalette, (s) -> s.isDark ? 90.0 : 10.0, (s) -> highestSurface(s));
7275

76+
public static final DynamicColor onSurfaceInverse =
77+
DynamicColor.fromPalette(
78+
(s) -> s.neutralPalette, (s) -> s.isDark ? 20.0 : 95.0, (s) -> surfaceInverse);
79+
7380
public static final DynamicColor surfaceVariant =
7481
DynamicColor.fromPalette((s) -> s.neutralVariantPalette, (s) -> s.isDark ? 30.0 : 90.0);
7582

@@ -81,6 +88,10 @@ public static DynamicColor highestSurface(DynamicScheme s) {
8188
DynamicColor.fromPalette(
8289
(s) -> s.neutralVariantPalette, (s) -> 50.0, (s) -> highestSurface(s));
8390

91+
public static final DynamicColor outlineVariant =
92+
DynamicColor.fromPalette(
93+
(s) -> s.neutralVariantPalette, (s) -> 80.0, (s) -> highestSurface(s));
94+
8495
public static final DynamicColor primaryContainer =
8596
DynamicColor.fromPalette(
8697
(s) -> s.primaryPalette, (s) -> s.isDark ? 30.0 : 90.0, (s) -> highestSurface(s));
@@ -100,6 +111,10 @@ public static DynamicColor highestSurface(DynamicScheme s) {
100111
primaryContainer,
101112
s.isDark ? TonePolarity.DARKER : TonePolarity.LIGHTER));
102113

114+
public static final DynamicColor primaryInverse =
115+
DynamicColor.fromPalette(
116+
(s) -> s.primaryPalette, (s) -> s.isDark ? 40.0 : 80.0, (s) -> surfaceInverse);
117+
103118
public static final DynamicColor onPrimary =
104119
DynamicColor.fromPalette(
105120
(s) -> s.primaryPalette, (s) -> s.isDark ? 20.0 : 100.0, (s) -> primary);

0 commit comments

Comments
 (0)