Merge "Disable additional pkgs on DND perm page" into sc-dev am: 3d22e9775a am: 8d4d54998d

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15109118

Change-Id: I840b45fe8f8440dfd8d0f7b55ef614e373f1e854
This commit is contained in:
Julia Reynolds
2021-06-25 15:16:29 +00:00
committed by Automerger Merge Worker
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) {

View File

@@ -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<String> 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;