From 2e98f50ec3f11de8d911fd644c4be389d8a4d671 Mon Sep 17 00:00:00 2001 From: Michel Comin Escude Date: Mon, 6 Apr 2020 09:35:33 -0700 Subject: Added interpolated blur animation for status bar Added an increase of the main animation at the beginning so after that the animation it's not that intense. WIP Bug: 152988192 Test: Visual Change-Id: Iffb99e4e1f79e50d315b7c95c213cc5a985e8607 --- packages/SystemUI/src/com/android/systemui/Interpolators.java | 2 ++ .../android/systemui/statusbar/NotificationShadeDepthController.kt | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/Interpolators.java b/packages/SystemUI/src/com/android/systemui/Interpolators.java index 6923079dd5c4..13d6a9bef266 100644 --- a/packages/SystemUI/src/com/android/systemui/Interpolators.java +++ b/packages/SystemUI/src/com/android/systemui/Interpolators.java @@ -49,6 +49,8 @@ public class Interpolators { public static final Interpolator CUSTOM_40_40 = new PathInterpolator(0.4f, 0f, 0.6f, 1f); public static final Interpolator HEADS_UP_APPEAR = new HeadsUpAppearInterpolator(); public static final Interpolator ICON_OVERSHOT = new PathInterpolator(0.4f, 0f, 0.2f, 1.4f); + public static final Interpolator SHADE_ANIMATION = + new PathInterpolator(0.6f, 0.02f, 0.4f, 0.98f); public static final Interpolator ICON_OVERSHOT_LESS = new PathInterpolator(0.4f, 0f, 0.2f, 1.1f); public static final Interpolator PANEL_CLOSE_ACCELERATED diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt index d7322a04ba49..4c24ea821879 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt @@ -21,6 +21,7 @@ import android.animation.AnimatorListenerAdapter import android.animation.ValueAnimator import android.app.WallpaperManager import android.util.Log +import android.util.MathUtils import android.view.Choreographer import android.view.View import androidx.annotation.VisibleForTesting @@ -185,7 +186,10 @@ class NotificationShadeDepthController @Inject constructor( private fun updateShadeBlur() { var newBlur = 0 if (statusBarStateController.state == StatusBarState.SHADE) { - newBlur = blurUtils.blurRadiusOfRatio(shadeExpansion) + val animatedBlur = + Interpolators.SHADE_ANIMATION.getInterpolation( + MathUtils.constrain(shadeExpansion / 0.15f, 0f, 1f)) + newBlur = blurUtils.blurRadiusOfRatio(0.35f * animatedBlur + 0.65f * shadeExpansion) } shadeSpring.animateTo(newBlur) -- cgit v1.2.3-59-g8ed1b