From e6df133d98085a6d795d453f9eff53a9f46a3c3f Mon Sep 17 00:00:00 2001 From: Jeff DeCew Date: Thu, 1 Apr 2021 15:39:14 -0400 Subject: [PATCH] Remove a bit of animation clutter from group update cascades. Bug: 180625950 Test: manual testing with notify app Change-Id: Ia78737442b72e8a3b1a8d44f832a0aac044f174e --- .../SystemUI/src/com/android/systemui/Interpolators.java | 1 + .../notification/row/ActivatableNotificationView.java | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/Interpolators.java b/packages/SystemUI/src/com/android/systemui/Interpolators.java index 2eba9521b9e7a..c23bcb8dcbb0d 100644 --- a/packages/SystemUI/src/com/android/systemui/Interpolators.java +++ b/packages/SystemUI/src/com/android/systemui/Interpolators.java @@ -40,6 +40,7 @@ public class Interpolators { new PathInterpolator(0.8f, 0f, 0.6f, 1f); public static final Interpolator FAST_OUT_LINEAR_IN = new PathInterpolator(0.4f, 0f, 1f, 1f); public static final Interpolator LINEAR_OUT_SLOW_IN = new PathInterpolator(0f, 0f, 0.2f, 1f); + public static final Interpolator SLOW_OUT_LINEAR_IN = new PathInterpolator(0.8f, 0f, 1f, 1f); public static final Interpolator ALPHA_IN = new PathInterpolator(0.4f, 0f, 1f, 1f); public static final Interpolator ALPHA_OUT = new PathInterpolator(0f, 0f, 0.8f, 1f); public static final Interpolator LINEAR = new LinearInterpolator(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java index 18e5ead7fbb8f..17f70cb082185 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java @@ -720,6 +720,10 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView mCurrentAppearInterpolator = mSlowOutFastInInterpolator; mCurrentAlphaInterpolator = Interpolators.LINEAR_OUT_SLOW_IN; targetValue = 1.0f; + if (!mIsHeadsUpAnimation && isChildInGroup()) { + // slower fade in of children to avoid visibly overlapping with other children + mCurrentAlphaInterpolator = Interpolators.SLOW_OUT_LINEAR_IN; + } } else { mCurrentAppearInterpolator = Interpolators.FAST_OUT_SLOW_IN; mCurrentAlphaInterpolator = mSlowOutLinearInInterpolator; @@ -819,6 +823,10 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView if (mIsHeadsUpAnimation && !mIsAppearing) { startWidthFraction = 0; } + if (mIsAppearing && !mIsHeadsUpAnimation && isChildInGroup()) { + // Children in a group (when not heads up) should simply fade in. + startWidthFraction = 1; + } float width = MathUtils.lerp(startWidthFraction, 1.0f, 1.0f - widthFraction) * getWidth(); float left;