From 8d54cb871e3c577c593644d4708966e65cea993e Mon Sep 17 00:00:00 2001 From: Alex Johnston Date: Tue, 23 May 2023 11:34:31 +0000 Subject: Fix profile owners uid logic Use uid instead of userId Bug: 268159214 Test: Set up a profile owner with TestDPC Change-Id: I69b2a767d9e0bfe2213998305b3f120ecb3ce549 --- .../java/com/android/server/devicepolicy/Owners.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java index 0c1c406dd7e2..bb275e45b55a 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java @@ -204,7 +204,15 @@ class Owners { @GuardedBy("mData") Set getProfileOwnerUidsLocked() { - return mData.mProfileOwners.keySet(); + Set uids = new ArraySet<>(); + for (int i = 0; i < mData.mProfileOwners.size(); i++) { + int userId = mData.mProfileOwners.keyAt(i); + OwnerInfo info = mData.mProfileOwners.valueAt(i); + uids.add(mPackageManagerInternal.getPackageUid(info.packageName, + PackageManager.MATCH_ALL | PackageManager.MATCH_KNOWN_PACKAGES, + userId)); + } + return uids; } String getDeviceOwnerPackageName() { -- cgit v1.2.3-59-g8ed1b