aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaterial Eng <no-reply@google.com>2023-07-19 12:08:14 +0000
committerLucas Dupin <dupin@google.com>2023-07-27 14:32:26 +0000
commitd952d2ac776f70285914f0c4ceadca96d0a1dccc (patch)
tree9e15d1a73baad86e5dd657367f723b0fb902f3f5
parent2503e59b5f25bbb16335188182eb9ebb84eb1bd5 (diff)
downloadlibmonet-d952d2ac776f70285914f0c4ceadca96d0a1dccc.tar.gz
Add support for extended fidelity in color schemes.
Project import generated by Copybara. Bug: 290615947 PiperOrigin-RevId: 549283686 Change-Id: I8f5ee5d21c29c4c764f3cbaa531041a5d8fb845e Merged-In: I8f5ee5d21c29c4c764f3cbaa531041a5d8fb845e (cherry picked from commit 2758a1beb3dee0ac66597ee1ec5743910b73a27f)
-rw-r--r--dynamiccolor/MaterialDynamicColors.java27
1 files changed, 21 insertions, 6 deletions
diff --git a/dynamiccolor/MaterialDynamicColors.java b/dynamiccolor/MaterialDynamicColors.java
index 0109906..cf1027e 100644
--- a/dynamiccolor/MaterialDynamicColors.java
+++ b/dynamiccolor/MaterialDynamicColors.java
@@ -31,7 +31,17 @@ import com.google.ux.material.libmonet.scheme.Variant;
// AndroidManifest with an SDK set higher than 14.
@SuppressWarnings({"AndroidJdkLibsChecker", "NewApi"})
public final class MaterialDynamicColors {
- public MaterialDynamicColors() {}
+ /** Optionally use fidelity on most color schemes. */
+ private final boolean isExtendedFidelity;
+
+ public MaterialDynamicColors() {
+ this.isExtendedFidelity = false;
+ }
+
+ // Temporary constructor to support extended fidelity experiment.
+ public MaterialDynamicColors(boolean isExtendedFidelity) {
+ this.isExtendedFidelity = isExtendedFidelity;
+ }
@NonNull
public DynamicColor highestSurface(@NonNull DynamicScheme s) {
@@ -909,12 +919,17 @@ public final class MaterialDynamicColors {
"text_hint_inverse", (s) -> s.neutralPalette, (s) -> s.isDark ? 10.0 : 90.0);
}
- private static ViewingConditions viewingConditionsForAlbers(DynamicScheme scheme) {
- return ViewingConditions.defaultWithBackgroundLstar(scheme.isDark ? 30.0 : 80.0);
+ private boolean isFidelity(DynamicScheme scheme) {
+ if (this.isExtendedFidelity
+ && scheme.variant != Variant.MONOCHROME
+ && scheme.variant != Variant.NEUTRAL) {
+ return true;
+ }
+ return scheme.variant == Variant.FIDELITY || scheme.variant == Variant.CONTENT;
}
- private static boolean isFidelity(DynamicScheme scheme) {
- return scheme.variant == Variant.FIDELITY || scheme.variant == Variant.CONTENT;
+ private static ViewingConditions viewingConditionsForAlbers(DynamicScheme scheme) {
+ return ViewingConditions.defaultWithBackgroundLstar(scheme.isDark ? 30.0 : 80.0);
}
private static boolean isMonochrome(DynamicScheme scheme) {
@@ -959,4 +974,4 @@ public final class MaterialDynamicColors {
return DynamicColor.enableLightForeground(albersd.getTone());
}
}
-}
+} \ No newline at end of file