diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java index 1755cc68bee2..2c8339a1dc22 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java @@ -42,7 +42,7 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged private int mBarState = -1; private HashMap<String, StatusBarNotification> mIsolatedEntries = new HashMap<>(); private HeadsUpManager mHeadsUpManager; - private boolean mUpdatingSuppressionBlocked; + private boolean mIsUpdatingUnchangedGroup; public void setOnGroupChangeListener(OnGroupChangeListener listener) { mListener = listener; @@ -141,7 +141,7 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged } private void updateSuppression(NotificationGroup group) { - if (group == null || mUpdatingSuppressionBlocked) { + if (group == null) { return; } boolean prevSuppressed = group.suppressed; @@ -154,7 +154,9 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged if (group.suppressed) { handleSuppressedSummaryHeadsUpped(group.summary); } - mListener.onGroupsChanged(); + if (!mIsUpdatingUnchangedGroup) { + mListener.onGroupsChanged(); + } } } @@ -188,12 +190,12 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged boolean groupKeysChanged = !oldKey.equals(newKey); boolean wasGroupChild = isGroupChild(oldNotification); boolean isGroupChild = isGroupChild(entry.notification); - mUpdatingSuppressionBlocked = !groupKeysChanged && wasGroupChild == isGroupChild; + mIsUpdatingUnchangedGroup = !groupKeysChanged && wasGroupChild == isGroupChild; if (mGroupMap.get(getGroupKey(oldNotification)) != null) { onEntryRemovedInternal(entry, oldNotification); } onEntryAdded(entry); - mUpdatingSuppressionBlocked = false; + mIsUpdatingUnchangedGroup = false; if (isIsolated(entry.notification)) { mIsolatedEntries.put(entry.key, entry.notification); if (groupKeysChanged) { |