diff options
3 files changed, 5 insertions, 4 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 924a7c659b08..bad6c77a17f3 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -15775,7 +15775,7 @@ public class DevicePolicyManager { throwIfParentInstance("setApplicationExemptions"); if (mService != null) { try { - mService.setApplicationExemptions(packageName, + mService.setApplicationExemptions(mContext.getPackageName(), packageName, ArrayUtils.convertToIntArray(new ArraySet<>(exemptions))); } catch (ServiceSpecificException e) { switch (e.errorCode) { diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl index e202ac2c9245..8d508c0fb79d 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -591,7 +591,7 @@ interface IDevicePolicyManager { List<UserHandle> getPolicyManagedProfiles(in UserHandle userHandle); - void setApplicationExemptions(String packageName, in int[]exemptions); + void setApplicationExemptions(String callerPackage, String packageName, in int[]exemptions); int[] getApplicationExemptions(String packageName); void setMtePolicy(int flag, String callerPackageName); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 2479646e4561..77c42500d79c 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -19654,7 +19654,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } @Override - public void setApplicationExemptions(String packageName, int[] exemptions) { + public void setApplicationExemptions(String callerPackage, String packageName, + int[] exemptions) { if (!mHasFeature) { return; } @@ -19665,7 +19666,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { Preconditions.checkCallAuthorization( hasCallingOrSelfPermission(permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS)); - final CallerIdentity caller = getCallerIdentity(); + final CallerIdentity caller = getCallerIdentity(callerPackage); final ApplicationInfo packageInfo; packageInfo = getPackageInfoWithNullCheck(packageName, caller); |