Use isGroupBlocked to check for blocked notifGroup

Avoids null pointer exception

Test: atest PreferencesHelperTest
Change-Id: Ic94b6f1f8768d4cb4afcdef8ec03165e6523188e
Fixes: 119798101
diff --git a/services/core/java/com/android/server/notification/PreferencesHelper.java b/services/core/java/com/android/server/notification/PreferencesHelper.java
index fd65ebe..eb46d53 100644
--- a/services/core/java/com/android/server/notification/PreferencesHelper.java
+++ b/services/core/java/com/android/server/notification/PreferencesHelper.java
@@ -1015,10 +1015,8 @@
 
     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()) {
-                return false;
-            }
+        if (isGroupBlocked(pkgPref.pkg, pkgPref.uid, channel.getGroup())) {
+            return false;
         }
 
         // Channel is deleted or is blocked
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
index 1a218b2..b027935 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
@@ -1090,6 +1090,24 @@
     }
 
     @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,
                 USER.getIdentifier()).getList().size());