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:
@@ -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) {
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user