Loading services/core/java/com/android/server/notification/NotificationManagerService.java +28 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ParceledListSlice; import android.content.pm.UserInfo; import android.content.res.Resources; import android.database.ContentObserver; import android.media.AudioAttributes; Loading @@ -72,6 +73,7 @@ import android.os.Process; import android.os.RemoteException; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.os.Vibrator; import android.provider.Settings; import android.service.notification.Condition; Loading Loading @@ -441,6 +443,12 @@ public class NotificationManagerService extends SystemService { return true; } /** Use this to check if a package can post a notification or toast. */ private boolean checkNotificationOp(String pkg, int uid) { return mAppOps.checkOp(AppOpsManager.OP_POST_NOTIFICATION, uid, pkg) == AppOpsManager.MODE_ALLOWED; } private static final class ToastRecord { final int pid; Loading Loading @@ -1909,6 +1917,26 @@ public class NotificationManagerService extends SystemService { r.dump(pw, " ", getContext()); } } try { pw.println("\n Banned Packages:"); for(UserInfo user : UserManager.get(getContext()).getUsers()) { final int userId = user.getUserHandle().getIdentifier(); pw.println(" UserId " + userId); final PackageManager packageManager = getContext().getPackageManager(); List<PackageInfo> packages = packageManager.getInstalledPackages(0, userId); final int packageCount = packages.size(); for (int p = 0; p < packageCount; p++) { final String packageName = packages.get(p).packageName; final int uid = packageManager.getPackageUid(packageName, userId); if (!checkNotificationOp(packageName, uid)) { pw.println(" " + packageName); } } } } catch (NameNotFoundException e) { // pass } } } Loading Loading
services/core/java/com/android/server/notification/NotificationManagerService.java +28 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ParceledListSlice; import android.content.pm.UserInfo; import android.content.res.Resources; import android.database.ContentObserver; import android.media.AudioAttributes; Loading @@ -72,6 +73,7 @@ import android.os.Process; import android.os.RemoteException; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.os.Vibrator; import android.provider.Settings; import android.service.notification.Condition; Loading Loading @@ -441,6 +443,12 @@ public class NotificationManagerService extends SystemService { return true; } /** Use this to check if a package can post a notification or toast. */ private boolean checkNotificationOp(String pkg, int uid) { return mAppOps.checkOp(AppOpsManager.OP_POST_NOTIFICATION, uid, pkg) == AppOpsManager.MODE_ALLOWED; } private static final class ToastRecord { final int pid; Loading Loading @@ -1909,6 +1917,26 @@ public class NotificationManagerService extends SystemService { r.dump(pw, " ", getContext()); } } try { pw.println("\n Banned Packages:"); for(UserInfo user : UserManager.get(getContext()).getUsers()) { final int userId = user.getUserHandle().getIdentifier(); pw.println(" UserId " + userId); final PackageManager packageManager = getContext().getPackageManager(); List<PackageInfo> packages = packageManager.getInstalledPackages(0, userId); final int packageCount = packages.size(); for (int p = 0; p < packageCount; p++) { final String packageName = packages.get(p).packageName; final int uid = packageManager.getPackageUid(packageName, userId); if (!checkNotificationOp(packageName, uid)) { pw.println(" " + packageName); } } } } catch (NameNotFoundException e) { // pass } } } Loading