summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLucas Dupin <dupin@google.com>2017-07-17 15:45:06 -0700
committerLucas Dupin <dupin@google.com>2017-07-24 13:26:22 -0700
commite17ce5286f2c25c2ce440b30f476e9e88a6d1e8e (patch)
treeca33ca59ca8f6307c57d06246458e0bc8b887634 /tests
parentf5c39226458537b7816d36339b4f343eac064b39 (diff)
Fix jank when switching themes
Turning overlays on and off takes time, it also doesn't allow us to have fine control over which view is using which theme. Lock screen colors are now driven by themes. Change-Id: Ie8860d00dbb0705ed76edf60a9d3030618dd21ca Fixes: 63751714 Test: Visual. Set wallpapers, unlock. Test: runtest -x packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java Test: runtest -x tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java Test: systrace
Diffstat (limited to 'tests')
-rw-r--r--tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java33
1 files changed, 26 insertions, 7 deletions
diff --git a/tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java b/tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java
index 0060901578cd..cb6a83d2644b 100644
--- a/tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java
+++ b/tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java
@@ -16,12 +16,14 @@
package com.android.internal.colorextraction;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.mockito.Mockito.any;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import android.app.WallpaperColors;
import android.app.WallpaperManager;
import android.content.Context;
import android.graphics.Color;
@@ -29,7 +31,6 @@ import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
-import com.android.internal.colorextraction.ColorExtractor;
import com.android.internal.colorextraction.ColorExtractor.GradientColors;
import com.android.internal.colorextraction.types.ExtractionType;
import com.android.internal.colorextraction.types.Tonal;
@@ -78,10 +79,10 @@ public class ColorExtractorTest {
ExtractionType type =
(inWallpaperColors, outGradientColorsNormal, outGradientColorsDark,
outGradientColorsExtraDark) -> {
- outGradientColorsNormal.set(colorsExpectedNormal);
- outGradientColorsDark.set(colorsExpectedDark);
- outGradientColorsExtraDark.set(colorsExpectedExtraDark);
- };
+ outGradientColorsNormal.set(colorsExpectedNormal);
+ outGradientColorsDark.set(colorsExpectedDark);
+ outGradientColorsExtraDark.set(colorsExpectedExtraDark);
+ };
ColorExtractor extractor = new ColorExtractor(mContext, type);
GradientColors colors = extractor.getColors(WallpaperManager.FLAG_SYSTEM,
@@ -92,4 +93,22 @@ public class ColorExtractorTest {
colors = extractor.getColors(WallpaperManager.FLAG_SYSTEM, ColorExtractor.TYPE_EXTRA_DARK);
assertEquals("Extracted colors not being used!", colors, colorsExpectedExtraDark);
}
+
+ @Test
+ public void addOnColorsChangedListener_invokesListener() {
+ ColorExtractor.OnColorsChangedListener mockedListeners =
+ mock(ColorExtractor.OnColorsChangedListener.class);
+ ColorExtractor extractor = new ColorExtractor(mContext, new Tonal(mContext));
+ extractor.addOnColorsChangedListener(mockedListeners);
+
+ extractor.onColorsChanged(new WallpaperColors(Color.valueOf(Color.RED), null, null),
+ WallpaperManager.FLAG_LOCK);
+ verify(mockedListeners, times(1)).onColorsChanged(any(),
+ eq(WallpaperManager.FLAG_LOCK));
+
+ extractor.removeOnColorsChangedListener(mockedListeners);
+ extractor.onColorsChanged(new WallpaperColors(Color.valueOf(Color.RED), null, null),
+ WallpaperManager.FLAG_LOCK);
+ verifyNoMoreInteractions(mockedListeners);
+ }
}