diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java index 4559e1350f127..45fd5efd00f57 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java @@ -153,15 +153,6 @@ public class AmbientState { return mStackHeight; } - /** - * @return Height of notifications panel, with the animation from pulseHeight accounted for. - */ - // TODO(b/192348384): move this logic to getStackHeight, and remove this and getInnerHeight - public float getPulseStackHeight() { - float pulseHeight = Math.min(mPulseHeight, mStackHeight); - return MathUtils.lerp(mStackHeight, pulseHeight, mDozeAmount); - } - /** Tracks the state from AlertingNotificationManager#hasNotifications() */ private boolean mHasAlertEntries; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java index b36dc56ffdf95..1b4ae9ea3f32f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java @@ -447,19 +447,16 @@ public class StackScrollAlgorithm { // to shelf start, thereby hiding all notifications (except the first one, which // we later unhide in updatePulsingState) // TODO(b/192348384): merge InnerHeight with StackHeight - final int stackBottom; - if (ambientState.isBypassEnabled()) { - // We want to use the stackHeight when pulse expanding, since the animation - // isn't currently optimized if the pulseHeight is continuously changing - // Let's improve this when we're merging the heights above - stackBottom = ambientState.isPulseExpanding() - ? (int) ambientState.getStackHeight() - : ambientState.getInnerHeight(); - } else { - stackBottom = !ambientState.isShadeExpanded() || ambientState.isDozing() - ? ambientState.getInnerHeight() - : (int) ambientState.getPulseStackHeight(); - } + // Note: Bypass pulse looks different, but when it is not expanding, we need + // to use the innerHeight which doesn't update continuously, otherwise we show + // more notifications than we should during this special transitional states. + boolean bypassPulseNotExpanding = ambientState.isBypassEnabled() + && ambientState.isOnKeyguard() && !ambientState.isPulseExpanding(); + final int stackBottom = + !ambientState.isShadeExpanded() || ambientState.isDozing() + || bypassPulseNotExpanding + ? ambientState.getInnerHeight() + : (int) ambientState.getStackHeight(); final int shelfStart = stackBottom - ambientState.getShelf().getIntrinsicHeight(); viewState.yTranslation = Math.min(viewState.yTranslation, shelfStart);