diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index 7ca7d12c590a7..e25f9decd2565 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -618,6 +618,19 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { return mOnKeyguard; } + public void removeAllChildren() { + List notificationChildren + = mChildrenContainer.getNotificationChildren(); + ArrayList clonedList = new ArrayList<>(notificationChildren); + for (int i = 0; i < clonedList.size(); i++) { + ExpandableNotificationRow row = clonedList.get(i); + mChildrenContainer.removeNotification(row); + mHeaderUtil.restoreNotificationHeader(row); + row.setIsChildInGroup(false, null); + } + onChildrenCountChanged(); + } + public interface ExpansionLogger { public void logNotificationExpansion(String key, boolean userAction, boolean expanded); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index bf58592c7ca9b..d036fe4807cde 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -1525,6 +1525,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, // we are only transfering this notification to its parent, don't generate an animation mStackScroller.setChildTransferInProgress(true); } + if (remove.isSummaryWithChildren()) { + remove.removeAllChildren(); + } mStackScroller.removeView(remove); mStackScroller.setChildTransferInProgress(false); }