From eb840eacf6785e1e20e4f1d840a2cd4671972da7 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Fri, 1 Jun 2018 00:28:58 -0700 Subject: [PATCH] Blank screen when coming from pulse We need to fade from black to the app to achieve a nice transition. Test: visual Test: atest packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java Change-Id: I13edd9c5f7a1bf9378851ac50c513d36ab821c43 Fixes: 87939048 --- .../systemui/statusbar/phone/ScrimState.java | 2 +- .../statusbar/phone/ScrimControllerTest.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java index 1c5df5801f42c..713356bc23818 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java @@ -148,7 +148,7 @@ public enum ScrimState { mCurrentInFrontAlpha = 0; mAnimationDuration = StatusBar.FADE_KEYGUARD_DURATION; - if (previousState == ScrimState.AOD) { + if (previousState == ScrimState.AOD || previousState == ScrimState.PULSING) { // Fade from black to transparent when coming directly from AOD updateScrimColor(mScrimInFront, 1, Color.BLACK); updateScrimColor(mScrimBehind, 1, Color.BLACK); 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 a2a866e79af3c..40337b89c18e7 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 @@ -350,6 +350,23 @@ public class ScrimControllerTest extends SysuiTestCase { mScrimController.finishAnimationsImmediately(); } + @Test + public void scrimBlanksWhenUnlockingFromPulse() { + boolean[] blanked = {false}; + // Simulate unlock with fingerprint + mScrimController.transitionTo(ScrimState.PULSING); + mScrimController.finishAnimationsImmediately(); + mScrimController.transitionTo(ScrimState.UNLOCKED, + new ScrimController.Callback() { + @Override + public void onDisplayBlanked() { + blanked[0] = true; + } + }); + mScrimController.finishAnimationsImmediately(); + Assert.assertTrue("Scrim should blank when unlocking from pulse.", blanked[0]); + } + @Test public void testScrimCallback() { int[] callOrder = {0, 0, 0};