Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84acf63a authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Fixed a bug where the summary could become visible even if it was...

Merge "Fixed a bug where the summary could become visible even if it was suppressed am: 80c44dd8 am: b665b734" into nyc-mr1-dev-plus-aosp
parents 2616b326 4a7e6cfe
Loading
Loading
Loading
Loading
+7 −5
Original line number Original line Diff line number Diff line
@@ -42,7 +42,7 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged
    private int mBarState = -1;
    private int mBarState = -1;
    private HashMap<String, StatusBarNotification> mIsolatedEntries = new HashMap<>();
    private HashMap<String, StatusBarNotification> mIsolatedEntries = new HashMap<>();
    private HeadsUpManager mHeadsUpManager;
    private HeadsUpManager mHeadsUpManager;
    private boolean mUpdatingSuppressionBlocked;
    private boolean mIsUpdatingUnchangedGroup;


    public void setOnGroupChangeListener(OnGroupChangeListener listener) {
    public void setOnGroupChangeListener(OnGroupChangeListener listener) {
        mListener = listener;
        mListener = listener;
@@ -141,7 +141,7 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged
    }
    }


    private void updateSuppression(NotificationGroup group) {
    private void updateSuppression(NotificationGroup group) {
        if (group == null || mUpdatingSuppressionBlocked) {
        if (group == null) {
            return;
            return;
        }
        }
        boolean prevSuppressed = group.suppressed;
        boolean prevSuppressed = group.suppressed;
@@ -154,9 +154,11 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged
            if (group.suppressed) {
            if (group.suppressed) {
                handleSuppressedSummaryHeadsUpped(group.summary);
                handleSuppressedSummaryHeadsUpped(group.summary);
            }
            }
            if (!mIsUpdatingUnchangedGroup) {
                mListener.onGroupsChanged();
                mListener.onGroupsChanged();
            }
            }
        }
        }
    }


    private boolean hasIsolatedChildren(NotificationGroup group) {
    private boolean hasIsolatedChildren(NotificationGroup group) {
        return getNumberOfIsolatedChildren(group.summary.notification.getGroupKey()) != 0;
        return getNumberOfIsolatedChildren(group.summary.notification.getGroupKey()) != 0;
@@ -188,12 +190,12 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged
        boolean groupKeysChanged = !oldKey.equals(newKey);
        boolean groupKeysChanged = !oldKey.equals(newKey);
        boolean wasGroupChild = isGroupChild(oldNotification);
        boolean wasGroupChild = isGroupChild(oldNotification);
        boolean isGroupChild = isGroupChild(entry.notification);
        boolean isGroupChild = isGroupChild(entry.notification);
        mUpdatingSuppressionBlocked = !groupKeysChanged && wasGroupChild == isGroupChild;
        mIsUpdatingUnchangedGroup = !groupKeysChanged && wasGroupChild == isGroupChild;
        if (mGroupMap.get(getGroupKey(oldNotification)) != null) {
        if (mGroupMap.get(getGroupKey(oldNotification)) != null) {
            onEntryRemovedInternal(entry, oldNotification);
            onEntryRemovedInternal(entry, oldNotification);
        }
        }
        onEntryAdded(entry);
        onEntryAdded(entry);
        mUpdatingSuppressionBlocked = false;
        mIsUpdatingUnchangedGroup = false;
        if (isIsolated(entry.notification)) {
        if (isIsolated(entry.notification)) {
            mIsolatedEntries.put(entry.key, entry.notification);
            mIsolatedEntries.put(entry.key, entry.notification);
            if (groupKeysChanged) {
            if (groupKeysChanged) {