DO NOT MERGE [QPR1] Fix QS having a white when opened over bubbles

mBehindTint now controls the background of quick settings.
I think this wasn't the case in R when the  bubble state
was written & it was never updated appropriately whenever
that changed.

Seems like most of the code in the unlocked state should
apply to bubbles so just copied it in and updated the
test.

Test: atest ScrimControllerTest
Bug: 191338071
Change-Id: I90fa26760d346a67d42b22d8e562d5b4c66f3017
This commit is contained in:
Mady Mellor
2021-07-29 14:29:50 -07:00
parent 414288574a
commit 55479777dd
2 changed files with 33 additions and 7 deletions

View File

@@ -278,15 +278,41 @@ public enum ScrimState {
BUBBLE_EXPANDED { BUBBLE_EXPANDED {
@Override @Override
public void prepare(ScrimState previousState) { public void prepare(ScrimState previousState) {
mFrontTint = Color.TRANSPARENT; mBehindAlpha = mClipQsScrim ? 1 : 0;
mBehindTint = Color.TRANSPARENT; mNotifAlpha = 0;
mBubbleTint = Color.BLACK; mFrontAlpha = 0;
mFrontAlpha = 0f; mAnimationDuration = mKeyguardFadingAway
mBehindAlpha = mDefaultScrimAlpha; ? mKeyguardFadingAwayDuration
: StatusBar.FADE_KEYGUARD_DURATION;
mAnimateChange = !mLaunchingAffordanceWithPreview;
mFrontTint = Color.TRANSPARENT;
mBehindTint = Color.BLACK;
mBubbleTint = Color.BLACK;
mBlankScreen = false;
if (previousState == ScrimState.AOD) {
// Set all scrims black, before they fade transparent.
updateScrimColor(mScrimInFront, 1f /* alpha */, Color.BLACK /* tint */);
updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK /* tint */);
if (mScrimForBubble != null) {
updateScrimColor(mScrimForBubble, 1f /* alpha */, Color.BLACK /* tint */);
}
// Scrims should still be black at the end of the transition.
mFrontTint = Color.BLACK;
mBehindTint = Color.BLACK;
mBubbleTint = Color.BLACK;
mBlankScreen = true;
}
if (mClipQsScrim) {
updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK);
}
mAnimationDuration = ScrimController.ANIMATION_DURATION; mAnimationDuration = ScrimController.ANIMATION_DURATION;
mBlankScreen = false;
} }
}; };

View File

@@ -621,7 +621,7 @@ public class ScrimControllerTest extends SysuiTestCase {
assertScrimTinted(Map.of( assertScrimTinted(Map.of(
mScrimInFront, false, mScrimInFront, false,
mScrimBehind, false, mScrimBehind, true,
mScrimForBubble, true mScrimForBubble, true
)); ));