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

Commit 4f7b53de authored by Beverly's avatar Beverly
Browse files

Use isGroupBlocked to check for blocked notifGroup

Avoids null pointer exception

Test: atest PreferencesHelperTest
Change-Id: Ic94b6f1f8768d4cb4afcdef8ec03165e6523188e
Fixes: 119798101
parent 0479cde2
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -1015,11 +1015,9 @@ public class PreferencesHelper implements RankingConfig {

    private boolean channelIsLive(PackagePreferences pkgPref, NotificationChannel channel) {
        // Channel is in a group that's blocked
        if (!TextUtils.isEmpty(channel.getGroup())) {
            if (pkgPref.groups.get(channel.getGroup()).isBlocked()) {
        if (isGroupBlocked(pkgPref.pkg, pkgPref.uid, channel.getGroup())) {
            return false;
        }
        }

        // Channel is deleted or is blocked
        if (channel.isDeleted() || channel.getImportance() == IMPORTANCE_NONE) {
+18 −0
Original line number Diff line number Diff line
@@ -1089,6 +1089,24 @@ public class PreferencesHelperTest extends UiServiceTestCase {
        assertEquals(0, mHelper.getBlockedChannelCount("pkg2", UID_O));
    }

    @Test
    public void testUpdateChannelsBypassingDnd_onUserSwitch_onUserUnlocked() throws Exception {
        int user = USER.getIdentifier();
        NotificationChannelGroup ncg = new NotificationChannelGroup("group1", "name1");
        NotificationChannel channel1 = new NotificationChannel("id1", "name1",
                NotificationManager.IMPORTANCE_MAX);
        channel1.setBypassDnd(true);
        channel1.setGroup(ncg.getId());

        // channel is associated with a group, then group is deleted
        mHelper.createNotificationChannelGroup(PKG_N_MR1, user, ncg,  /* fromTargetApp */ true);
        mHelper.createNotificationChannel(PKG_N_MR1, user, channel1, true, /*has DND access*/ true);
        mHelper.deleteNotificationChannelGroup(PKG_N_MR1, user, ncg.getId());

        mHelper.onUserSwitched(user);
        mHelper.onUserUnlocked(user);
    }

    @Test
    public void testGetChannelsBypassingDndCount_noChannelsBypassing() throws Exception {
        assertEquals(0, mHelper.getNotificationChannelsBypassingDnd(PKG_N_MR1,