diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java index 6d7c95f96de6b..440bea638231f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java @@ -182,6 +182,7 @@ public class NotificationStackScrollLayoutController { private final NotificationStackSizeCalculator mNotificationStackSizeCalculator; private final StackStateLogger mStackStateLogger; private final NotificationStackScrollLogger mLogger; + private final GroupExpansionManager mGroupExpansionManager; private NotificationStackScrollLayout mView; private boolean mFadeNotificationsOnDismiss; @@ -307,6 +308,9 @@ public class NotificationStackScrollLayoutController { public void onStateChanged(int newState) { mBarState = newState; mView.setStatusBarState(mBarState); + if (newState == KEYGUARD) { + mGroupExpansionManager.collapseGroups(); + } } @Override @@ -679,8 +683,7 @@ public class NotificationStackScrollLayoutController { mScrimController = scrimController; mJankMonitor = jankMonitor; mNotificationStackSizeCalculator = notificationStackSizeCalculator; - groupManager.registerGroupExpansionChangeListener( - (changedRow, expanded) -> mView.onGroupExpandChanged(changedRow, expanded)); + mGroupExpansionManager = groupManager; legacyGroupManager.registerGroupChangeListener(new OnGroupChangeListener() { @Override public void onGroupsChanged() { @@ -813,6 +816,9 @@ public class NotificationStackScrollLayoutController { } mView.addOnAttachStateChangeListener(mOnAttachStateChangeListener); mSilentHeaderController.setOnClearSectionClickListener(v -> clearSilentNotifications()); + + mGroupExpansionManager.registerGroupExpansionChangeListener( + (changedRow, expanded) -> mView.onGroupExpandChanged(changedRow, expanded)); } private boolean isInVisibleLocation(NotificationEntry entry) {