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

Commit a85df789 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Do not dismiss priority children of a group being dismissed"...

Merge "Merge "Do not dismiss priority children of a group being dismissed" into udc-qpr-dev am: 5b343970 am: cd6fb302"
parents b09f13a9 14cd7481
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();