Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1a91c611 authored by Jeroen Dhollander's avatar Jeroen Dhollander Committed by Android (Google) Code Review
Browse files

Merge "Fix installing of DEVICE_POLICY_MANAGEMENT Role holder in work profile" into main

parents 77970562 5495e89c
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -12671,7 +12671,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        final int userHandle = user.getIdentifier();
        final long id = mInjector.binderClearCallingIdentity();
        try {
            maybeInstallDevicePolicyManagementRoleHolderInUser(userHandle);
            maybeInstallDevicePolicyManagementRoleHolderInUser(userHandle,
                    caller);
            manageUserUnchecked(admin, profileOwner, userHandle, adminExtras,
                    /* showDisclaimer= */ true);
@@ -21520,7 +21521,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                    startTime,
                    callerPackage);
            maybeInstallDevicePolicyManagementRoleHolderInUser(userInfo.id);
            maybeInstallDevicePolicyManagementRoleHolderInUser(userInfo.id,
                    caller);
            installExistingAdminPackage(userInfo.id, admin.getPackageName());
            if (!enableAdminAndSetProfileOwner(userInfo.id, caller.getUserId(), admin)) {
@@ -21613,7 +21615,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                    startTime,
                    caller.getPackageName());
            maybeInstallDevicePolicyManagementRoleHolderInUser(userInfo.id);
            maybeInstallDevicePolicyManagementRoleHolderInUser(userInfo.id, caller);
            installExistingAdminPackage(userInfo.id, admin.getPackageName());
            if (!enableAdminAndSetProfileOwner(userInfo.id, caller.getUserId(), admin)) {
@@ -21741,9 +21743,11 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
    private void onCreateAndProvisionManagedProfileCompleted(
            ManagedProfileProvisioningParams provisioningParams) {}
    private void maybeInstallDevicePolicyManagementRoleHolderInUser(int targetUserId) {
    private void maybeInstallDevicePolicyManagementRoleHolderInUser(@UserIdInt int targetUserId,
            CallerIdentity caller) {
        String devicePolicyManagerRoleHolderPackageName =
                getRoleHolderPackageName(mContext, RoleManager.ROLE_DEVICE_POLICY_MANAGEMENT);
                getRoleHolderPackageNameOnUser(mContext, RoleManager.ROLE_DEVICE_POLICY_MANAGEMENT,
                        caller.getUserHandle());
        if (devicePolicyManagerRoleHolderPackageName == null) {
            Slogf.d(LOG_TAG, "No device policy management role holder specified.");
            return;
@@ -21769,14 +21773,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        }
    }
    /**
     * If multiple packages hold the role, returns the first package in the list.
     */
    @Nullable
    private String getRoleHolderPackageName(Context context, String role) {
        return getRoleHolderPackageNameOnUser(context, role, Process.myUserHandle());
    }
    /**
     * If multiple packages hold the role, returns the first package in the list.
     */