diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt index f03a9a8f3589c..2b5119575d227 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt @@ -195,11 +195,15 @@ class NotificationShadeDepthController @Inject constructor( var blur = max(shadeRadius.toInt(), globalActionsRadius) // Make blur be 0 if it is necessary to stop blur effect. - if (scrimsVisible || !blurUtils.supportsBlursOnWindows()) { + if (scrimsVisible) { blur = 0 } val zoomOut = blurUtils.ratioOfBlurRadius(blur) + if (!blurUtils.supportsBlursOnWindows()) { + blur = 0 + } + // Brightness slider removes blur, but doesn't affect zooms blur = (blur * (1f - brightnessMirrorSpring.ratio)).toInt() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt index 60b38892e7767..08b10ae17e8e8 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt @@ -200,9 +200,19 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() { @Test fun setFullShadeTransition_appliesBlur_onlyIfSupported() { reset(blurUtils) + `when`(blurUtils.blurRadiusOfRatio(anyFloat())).then { answer -> + (answer.arguments[0] as Float * maxBlur).toInt() + } + `when`(blurUtils.ratioOfBlurRadius(anyInt())).then { answer -> + answer.arguments[0] as Int / maxBlur.toFloat() + } + `when`(blurUtils.maxBlurRadius).thenReturn(maxBlur) + `when`(blurUtils.maxBlurRadius).thenReturn(maxBlur) + notificationShadeDepthController.transitionToFullShadeProgress = 1f notificationShadeDepthController.updateBlurCallback.doFrame(0) verify(blurUtils).applyBlur(any(), eq(0), eq(false)) + verify(wallpaperManager).setWallpaperZoomOut(any(), eq(1f)) } @Test