Disable additional pkgs on DND perm page

Because they will always have access because they hold
the permission to manage notifications.

Test: manual
Fixes: 191973668
Change-Id: I456aec41b401bba6f10d9ea969e2fb8c4300825d
This commit is contained in:
Julia Reynolds
2021-06-25 09:17:41 -04:00
parent afc0bd763c
commit 4c7981eb0d
2 changed files with 17 additions and 4 deletions

View File

@@ -50,13 +50,24 @@ public class ZenAccessController extends BasePreferenceController {
}
public static Set<String> getPackagesRequestingNotificationPolicyAccess() {
final String[] PERM = {
android.Manifest.permission.ACCESS_NOTIFICATION_POLICY
};
return getPackagesWithPermissions(PERM);
}
public static Set<String> getPackagesWithManageNotifications() {
final String[] PERM = {
android.Manifest.permission.MANAGE_NOTIFICATIONS
};
return getPackagesWithPermissions(PERM);
}
public static Set<String> getPackagesWithPermissions(String[] permList) {
final ArraySet<String> 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<PackageInfo> pkgs = list.getList();
if (pkgs != null) {