From 9f962ad30c0d42b2d52801467d50e74268016132 Mon Sep 17 00:00:00 2001 From: Steve Elliott Date: Wed, 6 Apr 2022 13:30:55 -0400 Subject: [PATCH] Collapse groups when shade is on keyguard Bug: 226553786 Test: manual 0. Have group of silent notifications 1. Lock device 2. Expand shade (keeping device locked) 3. Expand group of notifications 4. Return to lock screen Verify: Group is collapsed Change-Id: Iaded328ee0c21dc938a1ac51dc8061b605f0e699 --- .../stack/NotificationStackScrollLayoutController.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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) {