From 68fe9b54b2a3f05411237c22599135ff43a8d710 Mon Sep 17 00:00:00 2001 From: Jonathan Scott Date: Tue, 28 Mar 2023 13:49:31 +0000 Subject: [PATCH 1/2] [frameworks/base] Fix issues in PasswordTest Test: btest a.d.c.PasswordTest Bug: 274890916 Change-Id: I196353c3be3a83972e6cb3e5795d7cccd79b6a95 --- .../server/devicepolicy/DevicePolicyManagerService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 2479646e4561f..e0eb77faf4547 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -22186,7 +22186,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES, MANAGE_DEVICE_POLICY_USERS, MANAGE_DEVICE_POLICY_SAFE_BOOT, - MANAGE_DEVICE_POLICY_TIME); + MANAGE_DEVICE_POLICY_TIME, + MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS); private static final List PROFILE_OWNER_OF_ORGANIZATION_OWNED_DEVICE_PERMISSIONS = List.of( MANAGE_DEVICE_POLICY_ACROSS_USERS, @@ -22431,8 +22432,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL); CROSS_USER_PERMISSIONS.put(MANAGE_DEVICE_POLICY_LOCATION, MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL); - CROSS_USER_PERMISSIONS.put(MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS, - MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL); CROSS_USER_PERMISSIONS.put(MANAGE_DEVICE_POLICY_MICROPHONE, MANAGE_DEVICE_POLICY_ACROSS_USERS); CROSS_USER_PERMISSIONS.put(MANAGE_DEVICE_POLICY_MOBILE_NETWORK, @@ -22587,6 +22586,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { hasPermissionOnTargetUser = hasPermission(CROSS_USER_PERMISSIONS.get(permission), callerPackageName); } + return hasPermissionOnOwnUser && hasPermissionOnTargetUser; } From 65b4683e3bd3eee5f2c4f0a789bd266802542bc9 Mon Sep 17 00:00:00 2001 From: Jonathan Scott Date: Tue, 28 Mar 2023 15:12:13 +0000 Subject: [PATCH 2/2] Fix issue with DPMRH when on not-user-zero. Test: btest a.d.c.SystemErrorDialogsTest Bug: 274890916 Change-Id: Ifc20b066a32613c008c55e9547289699a1b5295a --- .../server/devicepolicy/DevicePolicyManagerService.java | 5 +++-- 1 file changed, 3 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 e0eb77faf4547..826aaaecd0900 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -22293,7 +22293,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { MANAGE_DEVICE_POLICY_PACKAGE_STATE, MANAGE_DEVICE_POLICY_RESET_PASSWORD, MANAGE_DEVICE_POLICY_STATUS_BAR, - MANAGE_DEVICE_POLICY_APP_RESTRICTIONS); + MANAGE_DEVICE_POLICY_APP_RESTRICTIONS, + MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS); private static final List PROFILE_OWNER_PERMISSIONS = List.of( MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL, MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY, @@ -22627,7 +22628,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } // Check the permission for the role-holder if (isCallerDevicePolicyManagementRoleHolder(caller)) { - return anyDpcHasPermission(permission, mContext.getUserId()); + return anyDpcHasPermission(permission, caller.getUserId()); } if (DELEGATE_SCOPES.containsKey(permission)) { return isCallerDelegate(caller, DELEGATE_SCOPES.get(permission));