diff options
author | Lucas Dupin <dupin@google.com> | 2017-08-11 10:30:58 -0700 |
---|---|---|
committer | Lucas Dupin <dupin@google.com> | 2017-08-15 11:30:19 -0700 |
commit | e2efebc8a25d1bd44e588cc81f825d6337d87a23 (patch) | |
tree | ada8f6cc64fc5e5acfb2d26ecc9bae5c62e9943a /tests/Internal | |
parent | 143c678bb5e9ed4bae50043c52e6d47203bdec87 (diff) |
Do not filter out some colors
Colors specified manually using the public WallpaperColors
constructor should not be blacklisted.
Test: runtest -x tests/Internal/src/android/app/WallpaperColorsTest.java
Test: runtest -x tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java
Change-Id: I96faf413e3629c247220d825bb7c3480ed2f1003
Fixes: 64361146
Diffstat (limited to 'tests/Internal')
-rw-r--r-- | tests/Internal/src/android/app/WallpaperColorsTest.java | 22 | ||||
-rw-r--r-- | tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java | 33 |
2 files changed, 41 insertions, 14 deletions
diff --git a/tests/Internal/src/android/app/WallpaperColorsTest.java b/tests/Internal/src/android/app/WallpaperColorsTest.java index fb529b936e5c..881f6284413f 100644 --- a/tests/Internal/src/android/app/WallpaperColorsTest.java +++ b/tests/Internal/src/android/app/WallpaperColorsTest.java @@ -36,12 +36,12 @@ public class WallpaperColorsTest { final Color color = Color.valueOf(Color.WHITE); // Default should not support dark text! WallpaperColors colors = new WallpaperColors(color, null, null, 0); - Assert.assertTrue("Default behavior is not to support dark text", + Assert.assertTrue("Default behavior is not to support dark text.", (colors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) == 0); // Override it colors = new WallpaperColors(color, null, null, WallpaperColors.HINT_SUPPORTS_DARK_TEXT); - Assert.assertFalse("Forcing dark text support doesn't work", + Assert.assertFalse("Forcing dark text support doesn't work.", (colors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) == 0); } @@ -57,15 +57,18 @@ public class WallpaperColorsTest { int hints = WallpaperColors.fromBitmap(image).getColorHints(); boolean supportsDarkText = (hints & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) != 0; boolean supportsDarkTheme = (hints & WallpaperColors.HINT_SUPPORTS_DARK_THEME) != 0; - Assert.assertTrue("White surface should support dark text", supportsDarkText); - Assert.assertFalse("White surface shouldn't support dark theme", supportsDarkTheme); + boolean fromBitmap = (hints & WallpaperColors.HINT_FROM_BITMAP) != 0; + Assert.assertTrue("White surface should support dark text.", supportsDarkText); + Assert.assertFalse("White surface shouldn't support dark theme.", supportsDarkTheme); + Assert.assertTrue("From bitmap should be true if object was created " + + "using WallpaperColors#fromBitmap.", fromBitmap); canvas.drawColor(Color.BLACK); hints = WallpaperColors.fromBitmap(image).getColorHints(); supportsDarkText = (hints & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) != 0; supportsDarkTheme = (hints & WallpaperColors.HINT_SUPPORTS_DARK_THEME) != 0; - Assert.assertFalse("Black surface shouldn't support dark text", supportsDarkText); - Assert.assertTrue("Black surface should support dark theme", supportsDarkTheme); + Assert.assertFalse("Black surface shouldn't support dark text.", supportsDarkText); + Assert.assertTrue("Black surface should support dark theme.", supportsDarkTheme); Paint paint = new Paint(); paint.setStyle(Paint.Style.FILL); @@ -75,7 +78,12 @@ public class WallpaperColorsTest { supportsDarkText = (WallpaperColors.fromBitmap(image) .getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) != 0; Assert.assertFalse("Light surface shouldn't support dark text " - + "when it contains dark pixels", supportsDarkText); + + "when it contains dark pixels.", supportsDarkText); + + WallpaperColors colors = new WallpaperColors(Color.valueOf(Color.GREEN), null, null); + fromBitmap = (colors.getColorHints() & WallpaperColors.HINT_FROM_BITMAP) != 0; + Assert.assertFalse("Object created from public constructor should not contain " + + "HINT_FROM_BITMAP.", fromBitmap); } /** diff --git a/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java b/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java index 6dc9ba7b621f..d46fff4db65a 100644 --- a/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java +++ b/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java @@ -99,20 +99,39 @@ public class TonalTest { } @Test - public void tonal_excludeBlacklistedColor() { + public void tonal_blacklistTest() { // Make sure that palette generation will fail. - Tonal tonal = new Tonal(InstrumentationRegistry.getContext()); + final Tonal tonal = new Tonal(InstrumentationRegistry.getContext()); // Creating a WallpaperColors object that contains *only* blacklisted colors. - float[] hsl = tonal.getBlacklistedColors().get(0).getCenter(); - WallpaperColors colors = new WallpaperColors(Color.valueOf(ColorUtils.HSLToColor(hsl)), - null, null, 0); + final float[] hsl = tonal.getBlacklistedColors().get(0).getCenter(); + final int blacklistedColor = ColorUtils.HSLToColor(hsl); + WallpaperColors colorsFromBitmap = new WallpaperColors(Color.valueOf(blacklistedColor), + null, null, WallpaperColors.HINT_FROM_BITMAP); // Make sure that palette generation will fail - GradientColors normal = new GradientColors(); - tonal.extractInto(colors, normal, new GradientColors(), + final GradientColors normal = new GradientColors(); + tonal.extractInto(colorsFromBitmap, normal, new GradientColors(), new GradientColors()); assertTrue("Cannot generate a tonal palette from blacklisted colors.", normal.getMainColor() == Tonal.MAIN_COLOR_DARK); } + + @Test + public void tonal_ignoreBlacklistTest() { + final Tonal tonal = new Tonal(InstrumentationRegistry.getContext()); + + // Creating a WallpaperColors object that contains *only* blacklisted colors. + final float[] hsl = tonal.getBlacklistedColors().get(0).getCenter(); + final int blacklistedColor = ColorUtils.HSLToColor(hsl); + WallpaperColors colors = new WallpaperColors(Color.valueOf(blacklistedColor), + null, null); + + // Blacklist should be ignored when HINT_FROM_BITMAP isn't present. + final GradientColors normal = new GradientColors(); + tonal.extractInto(colors, normal, new GradientColors(), + new GradientColors()); + assertTrue("Blacklist should never be used on WallpaperColors generated using " + + "default constructor.", normal.getMainColor() == blacklistedColor); + } } |