From 0c333774c87f50db7cf7fb02fed577de7927d503 Mon Sep 17 00:00:00 2001 From: Mady Mellor Date: Tue, 6 Nov 2018 18:05:54 -0800 Subject: [PATCH] Introduce scrim state for bubbles When bubbles are expanded we'll want to put a scrim behind them, this is the scrim state we'll use. Super simple test to check that alpha / visibility state of scrims are as expected Test: atest frameworks/base/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java Bug: 111236845 Change-Id: I1ee8ff9e7ce35aae692cf75a912106255e0e9b5a --- .../systemui/statusbar/phone/ScrimState.java | 14 ++++++++++++++ .../statusbar/phone/ScrimControllerTest.java | 13 +++++++++++++ 2 files changed, 27 insertions(+) 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 ade063d9718f0..98c61a80229a4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java @@ -186,6 +186,20 @@ public enum ScrimState { mBlankScreen = false; } } + }, + + /** + * Unlocked with a bubble expanded. + */ + BUBBLE_EXPANDED(7) { + @Override + public void prepare(ScrimState previousState) { + mCurrentInFrontTint = Color.TRANSPARENT; + mCurrentBehindTint = Color.TRANSPARENT; + mAnimationDuration = ScrimController.ANIMATION_DURATION; + mCurrentBehindAlpha = ScrimController.GRADIENT_SCRIM_ALPHA_BUSY; + mBlankScreen = false; + } }; boolean mBlankScreen = false; 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 9c558748697ad..0bc304ee41b2c 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 @@ -262,6 +262,19 @@ public class ScrimControllerTest extends SysuiTestCase { assertScrimVisibility(VISIBILITY_FULLY_TRANSPARENT, VISIBILITY_SEMI_TRANSPARENT); } + @Test + public void transitionToBubbleExpanded() { + mScrimController.transitionTo(ScrimState.BUBBLE_EXPANDED); + mScrimController.finishAnimationsImmediately(); + + // Front scrim should be transparent + Assert.assertEquals(ScrimController.VISIBILITY_FULLY_TRANSPARENT, + mScrimInFront.getViewAlpha(), 0.0f); + // Back scrim should be visible + Assert.assertEquals(ScrimController.GRADIENT_SCRIM_ALPHA_BUSY, + mScrimBehind.getViewAlpha(), 0.0f); + } + @Test public void scrimStateCallback() { mScrimController.transitionTo(ScrimState.UNLOCKED);