diff options
author | Lucas Dupin <dupin@google.com> | 2017-07-05 17:34:41 -0700 |
---|---|---|
committer | Lucas Dupin <dupin@google.com> | 2017-07-12 10:40:23 -0700 |
commit | c77b71d7f06234264041d0dc781189574acb6d0b (patch) | |
tree | a05a9bb2bd2eec2e89acd4e83031168c78ff2dcc /tests/Internal/src | |
parent | 2b6d358d559f31e203f97af0865e67e24c59377b (diff) |
In-app gradient color based on systemui theme.
When viewing your scrim on top of an app (wallpaper not visible),
the gradient color should be dark if your wallpaper is dark and
light if your wallpaper is light.
Change-Id: I5f3aea5bf9ec066b7caecd7cadfd2814e3758bd1
Fixes: 63121129
Bug: 63365056
Test: runtest -x tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java
Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/colorextraction/SysuiColorExtractorTests.java
Diffstat (limited to 'tests/Internal/src')
-rw-r--r-- | tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java | 17 | ||||
-rw-r--r-- | tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java | 31 |
2 files changed, 29 insertions, 19 deletions
diff --git a/tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java b/tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java index 71821472f55e..0060901578cd 100644 --- a/tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java +++ b/tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java @@ -62,21 +62,6 @@ public class ColorExtractorTest { } @Test - public void getColors_usesFallbackIfFails() { - ExtractionType alwaysFail = - (inWallpaperColors, outGradientColorsNormal, outGradientColorsDark, - outGradientColorsExtraDark) -> false; - ColorExtractor extractor = new ColorExtractor(mContext, alwaysFail); - GradientColors colors = extractor.getColors(WallpaperManager.FLAG_SYSTEM); - - assertEquals("Should be using the fallback color.", - colors.getMainColor(), ColorExtractor.FALLBACK_COLOR); - assertEquals("Should be using the fallback color.", - colors.getSecondaryColor(), ColorExtractor.FALLBACK_COLOR); - assertFalse("Dark text support should be false.", colors.supportsDarkText()); - } - - @Test public void getColors_usesExtractedColors() { GradientColors colorsExpectedNormal = new GradientColors(); colorsExpectedNormal.setMainColor(Color.RED); @@ -96,8 +81,6 @@ public class ColorExtractorTest { outGradientColorsNormal.set(colorsExpectedNormal); outGradientColorsDark.set(colorsExpectedDark); outGradientColorsExtraDark.set(colorsExpectedExtraDark); - // Successful extraction - return true; }; ColorExtractor extractor = new ColorExtractor(mContext, type); 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 1e3e8e91d9ef..d408b84109bc 100644 --- a/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java +++ b/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java @@ -40,6 +40,31 @@ import java.util.Arrays; public class TonalTest { @Test + public void extractInto_usesFallback() { + GradientColors normal = new GradientColors(); + Tonal tonal = new Tonal(); + tonal.extractInto(null, normal, new GradientColors(), + new GradientColors()); + assertFalse("Should use fallback color if WallpaperColors is null.", + normal.getMainColor() == Tonal.MAIN_COLOR_LIGHT); + } + + @Test + public void extractInto_usesFallbackWhenTooLightOrDark() { + GradientColors normal = new GradientColors(); + Tonal tonal = new Tonal(); + tonal.extractInto(new WallpaperColors(Color.valueOf(0xff000000), null, null, 0), + normal, new GradientColors(), new GradientColors()); + assertTrue("Should use fallback color if WallpaperColors is too dark.", + normal.getMainColor() == Tonal.MAIN_COLOR_DARK); + + tonal.extractInto(new WallpaperColors(Color.valueOf(0xffffffff), null, null, 0), + normal, new GradientColors(), new GradientColors()); + assertTrue("Should use fallback color if WallpaperColors is too light.", + normal.getMainColor() == Tonal.MAIN_COLOR_LIGHT); + } + + @Test public void colorRange_containsColor() { Tonal.ColorRange colorRange = new Tonal.ColorRange(new Range<>(0f, 50f), new Range<>(0f, 1f), new Range<>(0f, 1f)); @@ -72,8 +97,10 @@ public class TonalTest { // Make sure that palette generation will fail Tonal tonal = new Tonal(); - boolean success = tonal.extractInto(colors, new GradientColors(), new GradientColors(), + GradientColors normal = new GradientColors(); + tonal.extractInto(colors, normal, new GradientColors(), new GradientColors()); - assertFalse("Cannot generate a tonal palette from blacklisted colors ", success); + assertFalse("Cannot generate a tonal palette from blacklisted colors.", + normal.getMainColor() == Tonal.MAIN_COLOR_LIGHT); } } |