diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/VisualStabilityManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/VisualStabilityManager.java index a4e591625a95c..8dab06908001e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/VisualStabilityManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/VisualStabilityManager.java @@ -72,6 +72,9 @@ public class VisualStabilityManager implements OnHeadsUpChangedListener { * @param pulsing whether we are currently pulsing for ambient display. */ public void setPulsing(boolean pulsing) { + if (mPulsing == pulsing) { + return; + } mPulsing = pulsing; updateReorderingAllowed(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index bc43663ba2613..91a71d1eb753c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -5005,8 +5005,12 @@ public class StatusBar extends SystemUI implements DemoMode, @Override public void onPulseStarted() { callback.onPulseStarted(); - mStackScroller.setPulsing(true); - mVisualStabilityManager.setPulsing(true); + if (!mHeadsUpManager.getAllEntries().isEmpty()) { + // Only pulse the stack scroller if there's actually something to show. + // Otherwise just show the always-on screen. + mStackScroller.setPulsing(true); + mVisualStabilityManager.setPulsing(true); + } } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java index dd4e876604f26..99e09c6e7e260 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -4004,6 +4004,9 @@ public class NotificationStackScrollLayout extends ViewGroup } public void setPulsing(boolean pulsing) { + if (mPulsing == pulsing) { + return; + } mPulsing = pulsing; updateNotificationAnimationStates(); updateContentHeight();