diff options
| author | 2016-08-17 18:40:59 +0000 | |
|---|---|---|
| committer | 2016-08-17 18:40:59 +0000 | |
| commit | 80a5685ebfeedf0f00aca4b18d770d4689259f9c (patch) | |
| tree | f1a9f9dabaa0d245a0da46aa0ef4f69e0c9f3307 | |
| parent | 2139c4b1511a60b1ecb57d05420c8dcde947cb4e (diff) | |
| parent | 4a7e6cfe3fc9228e8c0f0ff14033a7a7798c604d (diff) | |
Fixed a bug where the summary could become visible even if it was suppressed am: 80c44dd800 am: b665b73437
am: 4a7e6cfe3f
Change-Id: Ic67679ee2070bc8ecce8f74f661d8806b5df9585
| -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) { |