Loading packages/SystemUI/res/values/dimens.xml +3 −0 Original line number Diff line number Diff line Loading @@ -1224,6 +1224,9 @@ <dimen name="min_window_blur_radius">1px</dimen> <dimen name="max_window_blur_radius">23px</dimen> <!-- Blur radius behind Notification Shade --> <dimen name="max_shade_window_blur_radius">60dp</dimen> <!-- How much into a DisplayCutout's bounds we can go, on each side --> <dimen name="display_cutout_margin_consumption">0px</dimen> Loading packages/SystemUI/src/com/android/systemui/scrim/ScrimDrawable.java +5 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.view.animation.DecelerateInterpolator; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.graphics.ColorUtils; import com.android.systemui.statusbar.notification.stack.StackStateAnimator; import static com.android.systemui.Flags.notificationShadeBlur; /** * Drawable used on SysUI scrims. Loading Loading @@ -213,6 +214,10 @@ public class ScrimDrawable extends Drawable { public void draw(@NonNull Canvas canvas) { mPaint.setColor(mMainColor); mPaint.setAlpha(mAlpha); if (notificationShadeBlur()) { // TODO(b/370555223): Match the alpha to the visual spec when it is finalized. mPaint.setAlpha((int) (0.5f * mAlpha)); } if (mConcaveInfo != null) { drawConcave(canvas); } else if (mCornerRadiusEnabled && mCornerRadius > 0) { Loading packages/SystemUI/src/com/android/systemui/scrim/ScrimView.java +6 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,8 @@ import com.android.systemui.util.LargeScreenUtils; import java.util.concurrent.Executor; import static com.android.systemui.Flags.notificationShadeBlur; /** * A view which can draw a scrim. This view maybe be used in multiple windows running on different * threads, but is controlled by {@link com.android.systemui.statusbar.phone.ScrimController} so we Loading Loading @@ -250,6 +252,10 @@ public class ScrimView extends View { if (mBlendWithMainColor) { mainTinted = ColorUtils.blendARGB(mColors.getMainColor(), mTintColor, tintAmount); } if (notificationShadeBlur()) { // TODO(b/370555223): Fix color and transparency to match visual spec exactly mainTinted = ColorUtils.blendARGB(mColors.getMainColor(), Color.GRAY, 0.5f); } drawable.setColor(mainTinted, animated); } else { boolean hasAlpha = Color.alpha(mTintColor) != 0; Loading packages/SystemUI/src/com/android/systemui/statusbar/BlurUtils.kt +9 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import java.io.PrintWriter import javax.inject.Inject import com.android.systemui.Flags.notificationShadeBlur @SysUISingleton open class BlurUtils @Inject constructor( Loading @@ -43,7 +44,14 @@ open class BlurUtils @Inject constructor( dumpManager: DumpManager ) : Dumpable { val minBlurRadius = resources.getDimensionPixelSize(R.dimen.min_window_blur_radius) val maxBlurRadius = resources.getDimensionPixelSize(R.dimen.max_window_blur_radius) val maxBlurRadius = if (notificationShadeBlur()) { resources.getDimensionPixelSize(R.dimen.max_shade_window_blur_radius) } else { resources.getDimensionPixelSize(R.dimen.max_window_blur_radius) } private var lastAppliedBlur = 0 private var earlyWakeupEnabled = false Loading packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt +5 −2 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import java.io.PrintWriter import javax.inject.Inject import kotlin.math.max import kotlin.math.sign import com.android.systemui.Flags.notificationShadeBlur /** * Responsible for blurring the notification shade window, and applying a zoom effect to the Loading Loading @@ -220,7 +221,9 @@ constructor( // Make blur be 0 if it is necessary to stop blur effect. if (scrimsVisible) { if (!notificationShadeBlur()) { blur = 0 } zoomOut = 0f } Loading @@ -240,7 +243,7 @@ constructor( Choreographer.FrameCallback { updateScheduled = false val (blur, zoomOut) = computeBlurAndZoomOut() val opaque = scrimsVisible && !blursDisabledForAppLaunch val opaque = if (notificationShadeBlur()) false else scrimsVisible && !blursDisabledForAppLaunch Trace.traceCounter(Trace.TRACE_TAG_APP, "shade_blur_radius", blur) blurUtils.applyBlur(root.viewRootImpl, blur, opaque) lastAppliedBlur = blur Loading Loading
packages/SystemUI/res/values/dimens.xml +3 −0 Original line number Diff line number Diff line Loading @@ -1224,6 +1224,9 @@ <dimen name="min_window_blur_radius">1px</dimen> <dimen name="max_window_blur_radius">23px</dimen> <!-- Blur radius behind Notification Shade --> <dimen name="max_shade_window_blur_radius">60dp</dimen> <!-- How much into a DisplayCutout's bounds we can go, on each side --> <dimen name="display_cutout_margin_consumption">0px</dimen> Loading
packages/SystemUI/src/com/android/systemui/scrim/ScrimDrawable.java +5 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.view.animation.DecelerateInterpolator; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.graphics.ColorUtils; import com.android.systemui.statusbar.notification.stack.StackStateAnimator; import static com.android.systemui.Flags.notificationShadeBlur; /** * Drawable used on SysUI scrims. Loading Loading @@ -213,6 +214,10 @@ public class ScrimDrawable extends Drawable { public void draw(@NonNull Canvas canvas) { mPaint.setColor(mMainColor); mPaint.setAlpha(mAlpha); if (notificationShadeBlur()) { // TODO(b/370555223): Match the alpha to the visual spec when it is finalized. mPaint.setAlpha((int) (0.5f * mAlpha)); } if (mConcaveInfo != null) { drawConcave(canvas); } else if (mCornerRadiusEnabled && mCornerRadius > 0) { Loading
packages/SystemUI/src/com/android/systemui/scrim/ScrimView.java +6 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,8 @@ import com.android.systemui.util.LargeScreenUtils; import java.util.concurrent.Executor; import static com.android.systemui.Flags.notificationShadeBlur; /** * A view which can draw a scrim. This view maybe be used in multiple windows running on different * threads, but is controlled by {@link com.android.systemui.statusbar.phone.ScrimController} so we Loading Loading @@ -250,6 +252,10 @@ public class ScrimView extends View { if (mBlendWithMainColor) { mainTinted = ColorUtils.blendARGB(mColors.getMainColor(), mTintColor, tintAmount); } if (notificationShadeBlur()) { // TODO(b/370555223): Fix color and transparency to match visual spec exactly mainTinted = ColorUtils.blendARGB(mColors.getMainColor(), Color.GRAY, 0.5f); } drawable.setColor(mainTinted, animated); } else { boolean hasAlpha = Color.alpha(mTintColor) != 0; Loading
packages/SystemUI/src/com/android/systemui/statusbar/BlurUtils.kt +9 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import java.io.PrintWriter import javax.inject.Inject import com.android.systemui.Flags.notificationShadeBlur @SysUISingleton open class BlurUtils @Inject constructor( Loading @@ -43,7 +44,14 @@ open class BlurUtils @Inject constructor( dumpManager: DumpManager ) : Dumpable { val minBlurRadius = resources.getDimensionPixelSize(R.dimen.min_window_blur_radius) val maxBlurRadius = resources.getDimensionPixelSize(R.dimen.max_window_blur_radius) val maxBlurRadius = if (notificationShadeBlur()) { resources.getDimensionPixelSize(R.dimen.max_shade_window_blur_radius) } else { resources.getDimensionPixelSize(R.dimen.max_window_blur_radius) } private var lastAppliedBlur = 0 private var earlyWakeupEnabled = false Loading
packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt +5 −2 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import java.io.PrintWriter import javax.inject.Inject import kotlin.math.max import kotlin.math.sign import com.android.systemui.Flags.notificationShadeBlur /** * Responsible for blurring the notification shade window, and applying a zoom effect to the Loading Loading @@ -220,7 +221,9 @@ constructor( // Make blur be 0 if it is necessary to stop blur effect. if (scrimsVisible) { if (!notificationShadeBlur()) { blur = 0 } zoomOut = 0f } Loading @@ -240,7 +243,7 @@ constructor( Choreographer.FrameCallback { updateScheduled = false val (blur, zoomOut) = computeBlurAndZoomOut() val opaque = scrimsVisible && !blursDisabledForAppLaunch val opaque = if (notificationShadeBlur()) false else scrimsVisible && !blursDisabledForAppLaunch Trace.traceCounter(Trace.TRACE_TAG_APP, "shade_blur_radius", blur) blurUtils.applyBlur(root.viewRootImpl, blur, opaque) lastAppliedBlur = blur Loading