Fade away wallpapers when long pulse
Add back timeout wallpaper while docking pulses due to docking pulses
may took a long time and should fade away wallpaper to avoid aging.
Reset mWallpaperVisibilityTimedOut flag to reset wallpaper timeout every
time scrim state changed or panel expanded.
Fix: 135134059
Test: atest SystemUITests:ScrimControllerTest
Change-Id: I5ea3e52733734cef6c6850fa4af1d8ad2941f967
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
index 191c983..d8e90a5 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
@@ -508,6 +508,38 @@
}
@Test
+ public void transitionToPulsing_withTimeoutWallpaperCallback_willHideWallpaper() {
+ mScrimController.setWallpaperSupportsAmbientMode(true);
+
+ mScrimController.transitionTo(ScrimState.PULSING, new ScrimController.Callback() {
+ @Override
+ public boolean shouldTimeoutWallpaper() {
+ return true;
+ }
+ });
+
+ verify(mAlarmManager).setExact(anyInt(), anyLong(), any(), any(), any());
+ }
+
+ @Test
+ public void transitionToPulsing_withDefaultCallback_wontHideWallpaper() {
+ mScrimController.setWallpaperSupportsAmbientMode(true);
+
+ mScrimController.transitionTo(ScrimState.PULSING, new ScrimController.Callback() {});
+
+ verify(mAlarmManager, never()).setExact(anyInt(), anyLong(), any(), any(), any());
+ }
+
+ @Test
+ public void transitionToPulsing_withoutCallback_wontHideWallpaper() {
+ mScrimController.setWallpaperSupportsAmbientMode(true);
+
+ mScrimController.transitionTo(ScrimState.PULSING);
+
+ verify(mAlarmManager, never()).setExact(anyInt(), anyLong(), any(), any(), any());
+ }
+
+ @Test
public void testConservesExpansionOpacityAfterTransition() {
mScrimController.transitionTo(ScrimState.UNLOCKED);
mScrimController.setPanelExpansion(0.5f);