From f8fe9732892499a14152917197fb3d7a6987cc2e Mon Sep 17 00:00:00 2001 From: Jonathan Scott Date: Wed, 2 Nov 2022 19:13:44 +0000 Subject: [PATCH] Allow the system server to query suspendable packages on any user. Test: atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testPersonalAppsSuspensionIme on headless system user device Fixes: 256837990 Change-Id: I519e7dbc038d1a33e0123207c1b5c5685e150207 --- .../java/com/android/server/pm/PackageManagerService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 8fed153825dbb..5cab434887ece 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -5055,8 +5055,11 @@ public class PackageManagerService implements PackageSender, TestUtilityService "getUnsuspendablePackagesForUser"); final int callingUid = Binder.getCallingUid(); if (UserHandle.getUserId(callingUid) != userId) { - throw new SecurityException("Calling uid " + callingUid - + " cannot query getUnsuspendablePackagesForUser for user " + userId); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.INTERACT_ACROSS_USERS_FULL, + "Calling uid " + callingUid + + " cannot query getUnsuspendablePackagesForUser for user " + + userId); } return mSuspendPackageHelper.getUnsuspendablePackagesForUser(snapshotComputer(), packageNames, userId, callingUid);