Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44ab2078 authored by Chandru S's avatar Chandru S
Browse files

Blur the notification scrim when we open the scrimmed bouncer from shade

Previously we were hiding (alpha to 0) it when scrimmed_bouncer was opened, the scrim view was not blurred and its outline would show up prominently behind the bouncer.
Other changes:
 1. Make the shade blur match the max blur radius as per spec.

Bug: 391409919
Test: verified manually,
 1. Expand shade
 2. Tap on notification
 3. Observer that the blur looks normal behind the bouncer.
Flag: com.android.systemui.bouncer_ui_revamp
Change-Id: I5ffec31c42b07c9f651cb2d19667cb172c56ff44
parent d501cec0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -123,8 +123,8 @@ class AlternateBouncerToPrimaryBouncerTransitionViewModelTest : SysuiTestCase()

            kosmos.keyguardWindowBlurTestUtil.assertTransitionToBlurRadius(
                transitionProgress = listOf(0f, 0f, 0.1f, 0.2f, 0.3f, 1f),
                startValue = kosmos.blurConfig.maxBlurRadiusPx / 3.0f,
                endValue = kosmos.blurConfig.maxBlurRadiusPx / 3.0f,
                startValue = kosmos.blurConfig.maxBlurRadiusPx,
                endValue = kosmos.blurConfig.maxBlurRadiusPx,
                transitionFactory = ::step,
                actualValuesProvider = { values },
                checkInterpolatedValues = false,
+2 −2
Original line number Diff line number Diff line
@@ -198,8 +198,8 @@ class LockscreenToPrimaryBouncerTransitionViewModelTest(flags: FlagsParameteriza

            kosmos.keyguardWindowBlurTestUtil.assertTransitionToBlurRadius(
                transitionProgress = listOf(0f, 0f, 0.1f, 0.2f, 0.3f, 1f),
                startValue = kosmos.blurConfig.maxBlurRadiusPx / 3.0f,
                endValue = kosmos.blurConfig.maxBlurRadiusPx / 3.0f,
                startValue = kosmos.blurConfig.maxBlurRadiusPx,
                endValue = kosmos.blurConfig.maxBlurRadiusPx,
                transitionFactory = ::step,
                actualValuesProvider = { values },
                checkInterpolatedValues = false,
+0 −6
Original line number Diff line number Diff line
@@ -23,10 +23,4 @@ data class BlurConfig(val minBlurRadiusPx: Float, val maxBlurRadiusPx: Float) {
    // No-op config that will be used by dagger of other SysUI variants which don't blur the
    // background surface.
    @Inject constructor() : this(0.0f, 0.0f)

    companion object {
        // Blur the shade much lesser than the background surface so that the surface is
        // distinguishable from the background.
        @JvmStatic fun Float.maxBlurRadiusToNotificationPanelBlurRadius(): Float = this / 3.0f
    }
}
+1 −4
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import com.android.systemui.keyguard.shared.model.KeyguardState.ALTERNATE_BOUNCE
import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER
import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow
import com.android.systemui.keyguard.ui.transitions.BlurConfig
import com.android.systemui.keyguard.ui.transitions.BlurConfig.Companion.maxBlurRadiusToNotificationPanelBlurRadius
import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
import com.android.systemui.scene.shared.flag.SceneContainerFlag
@@ -89,9 +88,7 @@ constructor(
            shadeDependentFlows.transitionFlow(
                flowWhenShadeIsNotExpanded = emptyFlow(),
                flowWhenShadeIsExpanded =
                    transitionAnimation.immediatelyTransitionTo(
                        blurConfig.maxBlurRadiusPx.maxBlurRadiusToNotificationPanelBlurRadius()
                    ),
                    transitionAnimation.immediatelyTransitionTo(blurConfig.maxBlurRadiusPx),
            )
        } else {
            emptyFlow<Float>()
+1 −4
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import com.android.systemui.keyguard.shared.model.KeyguardState.LOCKSCREEN
import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER
import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow
import com.android.systemui.keyguard.ui.transitions.BlurConfig
import com.android.systemui.keyguard.ui.transitions.BlurConfig.Companion.maxBlurRadiusToNotificationPanelBlurRadius
import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
import com.android.systemui.scene.shared.flag.SceneContainerFlag
@@ -88,9 +87,7 @@ constructor(
            shadeDependentFlows.transitionFlow(
                flowWhenShadeIsNotExpanded = emptyFlow(),
                flowWhenShadeIsExpanded =
                    transitionAnimation.immediatelyTransitionTo(
                        blurConfig.maxBlurRadiusPx.maxBlurRadiusToNotificationPanelBlurRadius()
                    ),
                    transitionAnimation.immediatelyTransitionTo(blurConfig.maxBlurRadiusPx),
            )
        } else {
            emptyFlow()
Loading