Skip to content

Commit a39d1ac

Browse files
Merge pull request #571 from nextcloud/feat/noid/syncLib
Add an API that returns all dynamic color tokens in Java.
2 parents 6c5d46a + e6709ea commit a39d1ac

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

material-color-utilities/src/main/java/dynamiccolor/MaterialDynamicColors.java

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
import androidx.annotation.NonNull;
2020
import dislike.DislikeAnalyzer;
2121
import hct.Hct;
22+
import java.util.Arrays;
23+
import java.util.List;
24+
import java.util.function.Supplier;
2225

2326
/** Named colors, otherwise known as tokens, or roles, in the Material Design system. */
2427
// Prevent lint for Function.apply not being available on Android before API level 14 (4.0.1).
@@ -933,6 +936,73 @@ public DynamicColor textHintInverse() {
933936
"text_hint_inverse", (s) -> s.neutralPalette, (s) -> s.isDark ? 10.0 : 90.0);
934937
}
935938

939+
/** All dynamic colors in Material Design system. */
940+
public final List<Supplier<DynamicColor>> allDynamicColors() {
941+
return Arrays.asList(
942+
this::primaryPaletteKeyColor,
943+
this::secondaryPaletteKeyColor,
944+
this::tertiaryPaletteKeyColor,
945+
this::neutralPaletteKeyColor,
946+
this::neutralVariantPaletteKeyColor,
947+
this::background,
948+
this::onBackground,
949+
this::surface,
950+
this::surfaceDim,
951+
this::surfaceBright,
952+
this::surfaceContainerLowest,
953+
this::surfaceContainerLow,
954+
this::surfaceContainer,
955+
this::surfaceContainerHigh,
956+
this::surfaceContainerHighest,
957+
this::onSurface,
958+
this::surfaceVariant,
959+
this::onSurfaceVariant,
960+
this::inverseSurface,
961+
this::inverseOnSurface,
962+
this::outline,
963+
this::outlineVariant,
964+
this::shadow,
965+
this::scrim,
966+
this::surfaceTint,
967+
this::primary,
968+
this::onPrimary,
969+
this::primaryContainer,
970+
this::onPrimaryContainer,
971+
this::inversePrimary,
972+
this::secondary,
973+
this::onSecondary,
974+
this::secondaryContainer,
975+
this::onSecondaryContainer,
976+
this::tertiary,
977+
this::onTertiary,
978+
this::tertiaryContainer,
979+
this::onTertiaryContainer,
980+
this::error,
981+
this::onError,
982+
this::errorContainer,
983+
this::onErrorContainer,
984+
this::primaryFixed,
985+
this::primaryFixedDim,
986+
this::onPrimaryFixed,
987+
this::onPrimaryFixedVariant,
988+
this::secondaryFixed,
989+
this::secondaryFixedDim,
990+
this::onSecondaryFixed,
991+
this::onSecondaryFixedVariant,
992+
this::tertiaryFixed,
993+
this::tertiaryFixedDim,
994+
this::onTertiaryFixed,
995+
this::onTertiaryFixedVariant,
996+
this::controlActivated,
997+
this::controlNormal,
998+
this::controlHighlight,
999+
this::textPrimaryInverse,
1000+
this::textSecondaryAndTertiaryInverse,
1001+
this::textPrimaryInverseDisableOnly,
1002+
this::textSecondaryAndTertiaryInverseDisabled,
1003+
this::textHintInverse);
1004+
}
1005+
9361006
private boolean isFidelity(DynamicScheme scheme) {
9371007
if (this.isExtendedFidelity
9381008
&& scheme.variant != Variant.MONOCHROME

0 commit comments

Comments
 (0)