diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java index e6b389a5b3c..84608794f7a 100644 --- a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java +++ b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java @@ -50,13 +50,24 @@ public class ZenAccessController extends BasePreferenceController { } public static Set getPackagesRequestingNotificationPolicyAccess() { + final String[] PERM = { + android.Manifest.permission.ACCESS_NOTIFICATION_POLICY + }; + return getPackagesWithPermissions(PERM); + } + + public static Set getPackagesWithManageNotifications() { + final String[] PERM = { + android.Manifest.permission.MANAGE_NOTIFICATIONS + }; + return getPackagesWithPermissions(PERM); + } + + public static Set getPackagesWithPermissions(String[] permList) { final ArraySet requestingPackages = new ArraySet<>(); try { - final String[] PERM = { - android.Manifest.permission.ACCESS_NOTIFICATION_POLICY - }; final ParceledListSlice list = AppGlobals.getPackageManager() - .getPackagesHoldingPermissions(PERM, 0 /*flags*/, + .getPackagesHoldingPermissions(permList, 0 /*flags*/, ActivityManager.getCurrentUser()); final List pkgs = list.getList(); if (pkgs != null) { diff --git a/src/com/android/settings/notification/zen/ZenAccessSettings.java b/src/com/android/settings/notification/zen/ZenAccessSettings.java index e83983f5b1b..1a9fb161932 100644 --- a/src/com/android/settings/notification/zen/ZenAccessSettings.java +++ b/src/com/android/settings/notification/zen/ZenAccessSettings.java @@ -17,6 +17,7 @@ package com.android.settings.notification.zen; import android.annotation.Nullable; +import android.app.ActivityManager; import android.app.NotificationManager; import android.app.settings.SettingsEnums; import android.content.Context; @@ -117,6 +118,7 @@ public class ZenAccessSettings extends EmptyTextSettings implements } ArraySet autoApproved = new ArraySet<>(); autoApproved.addAll(mNoMan.getEnabledNotificationListenerPackages()); + autoApproved.addAll(ZenAccessController.getPackagesWithManageNotifications()); Collections.sort(apps, new PackageItemInfo.DisplayNameComparator(mPkgMan)); for (ApplicationInfo app : apps) { final String pkg = app.packageName;