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;