@@ -428,7 +428,8 @@ public DynamicColor onSurface() {
428428 return surfaceContainerHigh ();
429429 }
430430 })
431- .setContrastCurve ((s ) -> s .isDark ? getContrastCurve (11 ) : getContrastCurve (9 ))
431+ .setContrastCurve (
432+ (s ) -> s .isDark && s .platform == PHONE ? getContrastCurve (11 ) : getContrastCurve (9 ))
432433 .build ();
433434 return super .onSurface ().toBuilder ()
434435 .extendSpecVersion (SpecVersion .SPEC_2025 , color2025 )
@@ -625,15 +626,23 @@ public DynamicColor primary() {
625626 return tMaxC (s .primaryPalette , 0 , 90 );
626627 }
627628 } else if (s .variant == EXPRESSIVE ) {
628- return tMaxC (
629- s .primaryPalette ,
630- 0 ,
631- Hct .isYellow (s .primaryPalette .getHue ())
632- ? 25
633- : Hct .isCyan (s .primaryPalette .getHue ()) ? 88 : 98 );
629+ if (s .platform == PHONE ) {
630+ return tMaxC (
631+ s .primaryPalette ,
632+ 0 ,
633+ Hct .isYellow (s .primaryPalette .getHue ())
634+ ? 25
635+ : Hct .isCyan (s .primaryPalette .getHue ()) ? 88 : 98 );
636+ } else { // WATCH
637+ return tMaxC (s .primaryPalette );
638+ }
634639 } else { // VIBRANT
635- return tMaxC (
636- s .primaryPalette , 0 , Hct .isCyan (s .primaryPalette .getHue ()) ? 88 : 98 );
640+ if (s .platform == PHONE ) {
641+ return tMaxC (
642+ s .primaryPalette , 0 , Hct .isCyan (s .primaryPalette .getHue ()) ? 88 : 98 );
643+ } else { // WATCH
644+ return tMaxC (s .primaryPalette );
645+ }
637646 }
638647 })
639648 .setIsBackground (true )
@@ -1529,7 +1538,7 @@ private static double tMinC(TonalPalette palette, double lowerBound, double uppe
15291538
15301539 private static ContrastCurve getContrastCurve (double defaultContrast ) {
15311540 if (defaultContrast == 1.5 ) {
1532- return new ContrastCurve (1.5 , 1.5 , 3 , 4 .5 );
1541+ return new ContrastCurve (1.5 , 1.5 , 3 , 5 .5 );
15331542 } else if (defaultContrast == 3 ) {
15341543 return new ContrastCurve (3 , 3 , 4.5 , 7 );
15351544 } else if (defaultContrast == 4.5 ) {
0 commit comments