summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Michel Comin Escude <michelcomin@google.com> 2020-04-06 09:35:33 -0700
committer Michel Comin Escude <michelcomin@google.com> 2020-04-06 09:40:31 -0700
commit2e98f50ec3f11de8d911fd644c4be389d8a4d671 (patch)
tree6c1cd1a77a399ab17b19cf41d4ed3722b0745405
parent754636846c0dd0ba6f8fd025dc3c270efd8bc500 (diff)
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
-rw-r--r--packages/SystemUI/src/com/android/systemui/Interpolators.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt6
2 files changed, 7 insertions, 1 deletions
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)