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

Commit cd6fb302 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Do not dismiss priority children of a group being dismissed" into udc-qpr-dev am: 5b343970

parents 913b71ef 5b343970
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -875,6 +875,7 @@ public class NotifCollection implements Dumpable, PipelineDumpable {
                && !hasFlag(entry, Notification.FLAG_ONGOING_EVENT)
                && !hasFlag(entry, Notification.FLAG_BUBBLE)
                && !hasFlag(entry, Notification.FLAG_NO_CLEAR)
                && (entry.getChannel() == null || !entry.getChannel().isImportantConversation())
                && entry.getDismissState() != DISMISSED;
    }

+29 −4
Original line number Diff line number Diff line
@@ -1674,12 +1674,22 @@ public class NotifCollectionTest extends SysuiTestCase {
        verifyNoMoreInteractions(mStatusBarService);
    }

    @Test
    public void testCanDismissOtherNotificationChildren() {
        // GIVEN an ongoing notification
        final NotificationEntry container = new NotificationEntryBuilder()
                .setGroup(mContext, "group")
                .build();

        // THEN its children are dismissible
        assertTrue(mCollection.shouldAutoDismissChildren(
                container, container.getSbn().getGroupKey()));
    }

    @Test
    public void testCannotDismissOngoingNotificationChildren() {
        // GIVEN an ongoing notification
        final NotificationEntry container = new NotificationEntryBuilder()
                .setPkg(TEST_PACKAGE)
                .setId(47)
                .setGroup(mContext, "group")
                .setFlag(mContext, FLAG_ONGOING_EVENT, true)
                .build();
@@ -1693,6 +1703,7 @@ public class NotifCollectionTest extends SysuiTestCase {
    public void testCannotDismissNoClearNotifications() {
        // GIVEN an no-clear notification
        final NotificationEntry container = new NotificationEntryBuilder()
                .setGroup(mContext, "group")
                .setFlag(mContext, FLAG_NO_CLEAR, true)
                .build();

@@ -1701,12 +1712,26 @@ public class NotifCollectionTest extends SysuiTestCase {
                container, container.getSbn().getGroupKey()));
    }

    @Test
    public void testCannotDismissPriorityConversations() {
        // GIVEN an no-clear notification
        NotificationChannel channel =
                new NotificationChannel("foo", "Foo", NotificationManager.IMPORTANCE_HIGH);
        channel.setImportantConversation(true);
        final NotificationEntry container = new NotificationEntryBuilder()
                .setGroup(mContext, "group")
                .setChannel(channel)
                .build();

        // THEN its children are not dismissible
        assertFalse(mCollection.shouldAutoDismissChildren(
                container, container.getSbn().getGroupKey()));
    }

    @Test
    public void testCanDismissFgsNotificationChildren() {
        // GIVEN an FGS but not ongoing notification
        final NotificationEntry container = new NotificationEntryBuilder()
                .setPkg(TEST_PACKAGE)
                .setId(47)
                .setGroup(mContext, "group")
                .setFlag(mContext, FLAG_FOREGROUND_SERVICE, true)
                .build();