summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Eran Messeri <eranm@google.com> 2019-12-19 16:21:46 +0000
committer Eran Messeri <eranm@google.com> 2019-12-19 16:50:10 +0000
commit53c777b2512e8753d4bacb6089689d6b4ac317a4 (patch)
tree0501765c8a407914ea1c190d1c63d7525cf3f255
parent7603db473ea54bc7d296443fd5d394ba258bacf4 (diff)
Temporarily restore device identifiers access to Profile Owner
Temporarily restore access to device identifiers for a profile owner on a personal (non corporate-owned) device. This is a partial revert of ag/9845617. As this change breaks some Corp use cases, we will be working with the affected parties on a timeline to re-introduce it. Bug: 130844684 Bug:110099294 Test: atest com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testProfileOwnerCanGetDeviceIdentifiers Test: atest CtsDevicePolicyManagerTestCases:com.android.cts.devicepolicy.ManagedProfileTest Change-Id: I4444658680f18969b8bd6537b5f69ffb46692dbe
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 94338c8f34e4..8cd803c3f8eb 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -8701,9 +8701,15 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
// Allow access to the profile owner for the specified user, or delegate cert installer
// But only if this is an organization-owned device.
ComponentName profileOwner = getProfileOwnerAsUser(userId);
- if (profileOwner != null && canProfileOwnerAccessDeviceIds(userId)
+ final boolean isCallerProfileOwnerOrDelegate = profileOwner != null
&& (profileOwner.getPackageName().equals(packageName)
- || isCallerDelegate(packageName, uid, DELEGATION_CERT_INSTALL))) {
+ || isCallerDelegate(packageName, uid, DELEGATION_CERT_INSTALL));
+ if (isCallerProfileOwnerOrDelegate && canProfileOwnerAccessDeviceIds(userId)) {
+ return true;
+ }
+ //TODO(b/130844684): Temporarily allow profile owner on non-organization-owned devices
+ //to read device identifiers.
+ if (isCallerProfileOwnerOrDelegate) {
return true;
}