diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-03-24 02:52:41 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-03-24 02:52:41 +0000 |
commit | 37b4e02c380dd272b3ab7ab723e6a5c63ffecc4d (patch) | |
tree | c013e81bf3630235af3e6832a547585a19e5ae40 | |
parent | f59a46a8aa260a113a2c8c56c61229a97cc86f99 (diff) | |
parent | 9d0e8ec62caa47662e4e91b1b477531f32a6a995 (diff) |
Merge "Merge "Set dark theme flag when initializing with Color" into rvc-dev am: 59dc371fed am: 4c69e80709" into rvc-d1-dev-plus-aosp am: 7f371d3ada am: 9d0e8ec62c
Change-Id: I12aa8f8607e9fe2090a89cb21472026636c3d674
-rw-r--r-- | core/java/android/app/WallpaperColors.java | 8 | ||||
-rw-r--r-- | tests/Internal/src/android/app/WallpaperColorsTest.java | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/core/java/android/app/WallpaperColors.java b/core/java/android/app/WallpaperColors.java index 6765d0b67c31..e4818b274342 100644 --- a/core/java/android/app/WallpaperColors.java +++ b/core/java/android/app/WallpaperColors.java @@ -222,6 +222,14 @@ public final class WallpaperColors implements Parcelable { public WallpaperColors(@NonNull Color primaryColor, @Nullable Color secondaryColor, @Nullable Color tertiaryColor) { this(primaryColor, secondaryColor, tertiaryColor, 0); + + // Calculate dark theme support based on primary color. + final float[] tmpHsl = new float[3]; + ColorUtils.colorToHSL(primaryColor.toArgb(), tmpHsl); + final float luminance = tmpHsl[2]; + if (luminance < DARK_THEME_MEAN_LUMINANCE) { + mColorHints |= HINT_SUPPORTS_DARK_THEME; + } } /** diff --git a/tests/Internal/src/android/app/WallpaperColorsTest.java b/tests/Internal/src/android/app/WallpaperColorsTest.java index 65ff6eb1ba04..e9bac717daa1 100644 --- a/tests/Internal/src/android/app/WallpaperColorsTest.java +++ b/tests/Internal/src/android/app/WallpaperColorsTest.java @@ -87,6 +87,14 @@ public class WallpaperColorsTest { + "HINT_FROM_BITMAP.", fromBitmap); } + @Test + public void darkMainColorSupportsDarkTheme() { + final Color color = Color.valueOf(Color.BLACK); + WallpaperColors colors = new WallpaperColors(color, null, null); + Assert.assertTrue("Dark theme should be supported by dark main colors.", + (colors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_THEME) != 0); + } + /** * WallpaperColors should not recycle bitmaps that it didn't create. */ |