summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java2
-rw-r--r--core/java/android/app/admin/IDevicePolicyManager.aidl2
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java5
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);