diff options
author | Material Eng <no-reply@google.com> | 2023-07-19 12:08:14 +0000 |
---|---|---|
committer | Lucas Dupin <dupin@google.com> | 2023-07-27 14:32:26 +0000 |
commit | d952d2ac776f70285914f0c4ceadca96d0a1dccc (patch) | |
tree | 9e15d1a73baad86e5dd657367f723b0fb902f3f5 | |
parent | 2503e59b5f25bbb16335188182eb9ebb84eb1bd5 (diff) | |
download | libmonet-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.java | 27 |
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 |