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

Commit f24f5baf 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...

Merge "Do not dismiss priority children of a group being dismissed" into udc-dev am: f0d08645 am: 3824f769

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23785932



Change-Id: I493241c933996782f1ca4f3e04d7e43f5de46cbf
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents caeb9eb2 3824f769
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -840,6 +840,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();