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() {
|
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<>();
|
final ArraySet<String> requestingPackages = new ArraySet<>();
|
||||||
try {
|
try {
|
||||||
final String[] PERM = {
|
|
||||||
android.Manifest.permission.ACCESS_NOTIFICATION_POLICY
|
|
||||||
};
|
|
||||||
final ParceledListSlice list = AppGlobals.getPackageManager()
|
final ParceledListSlice list = AppGlobals.getPackageManager()
|
||||||
.getPackagesHoldingPermissions(PERM, 0 /*flags*/,
|
.getPackagesHoldingPermissions(permList, 0 /*flags*/,
|
||||||
ActivityManager.getCurrentUser());
|
ActivityManager.getCurrentUser());
|
||||||
final List<PackageInfo> pkgs = list.getList();
|
final List<PackageInfo> pkgs = list.getList();
|
||||||
if (pkgs != null) {
|
if (pkgs != null) {
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.notification.zen;
|
package com.android.settings.notification.zen;
|
||||||
|
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
|
import android.app.ActivityManager;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -117,6 +118,7 @@ public class ZenAccessSettings extends EmptyTextSettings implements
|
|||||||
}
|
}
|
||||||
ArraySet<String> autoApproved = new ArraySet<>();
|
ArraySet<String> autoApproved = new ArraySet<>();
|
||||||
autoApproved.addAll(mNoMan.getEnabledNotificationListenerPackages());
|
autoApproved.addAll(mNoMan.getEnabledNotificationListenerPackages());
|
||||||
|
autoApproved.addAll(ZenAccessController.getPackagesWithManageNotifications());
|
||||||
Collections.sort(apps, new PackageItemInfo.DisplayNameComparator(mPkgMan));
|
Collections.sort(apps, new PackageItemInfo.DisplayNameComparator(mPkgMan));
|
||||||
for (ApplicationInfo app : apps) {
|
for (ApplicationInfo app : apps) {
|
||||||
final String pkg = app.packageName;
|
final String pkg = app.packageName;
|
||||||
|
Reference in New Issue
Block a user