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);