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

Commit 063e1164 authored by Rubin Xu's avatar Rubin Xu
Browse files

Add TestApi to clear organization Id

Needed in CTS tests to reset the organization ID and
enrollment specific ID.

Bug: 197760250
Test: atest android.devicepolicy.cts.EnrollmentSpecificIdTest
Change-Id: Ice1123744957ab57636ec1d9b0ca60a16c5a93cf
parent a1d961e1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -425,6 +425,7 @@ package android.app.admin {

  public class DevicePolicyManager {
    method public int checkProvisioningPreCondition(@Nullable String, @NonNull String);
    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void clearOrganizationId();
    method @RequiresPermission(android.Manifest.permission.CLEAR_FREEZE_PERIOD) public void clearSystemUpdatePolicyFreezePeriodRecord();
    method @Nullable public android.os.UserHandle createAndProvisionManagedProfile(@NonNull android.app.admin.ManagedProfileProvisioningParams) throws android.app.admin.ProvisioningException;
    method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceNetworkLogs();
+17 −0
Original line number Diff line number Diff line
@@ -13753,6 +13753,23 @@ public class DevicePolicyManager {
        }
    }
    /**
     * Clears organization ID set by the DPC and resets the precomputed enrollment specific ID.
     * @hide
     */
    @TestApi
    @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS)
    public void clearOrganizationId() {
        if (mService == null) {
            return;
        }
        try {
            mService.clearOrganizationIdForUser(myUserId());
        } catch (RemoteException re) {
            throw re.rethrowFromSystemServer();
        }
    }
    /**
     * Creates and provisions a managed profile and sets the
     * {@link ManagedProfileProvisioningParams#getProfileAdminComponentName()} as the profile
+1 −0
Original line number Diff line number Diff line
@@ -375,6 +375,7 @@ interface IDevicePolicyManager {

    void setOrganizationColor(in ComponentName admin, in int color);
    void setOrganizationColorForUser(in int color, in int userId);
    void clearOrganizationIdForUser(int userHandle);
    int getOrganizationColor(in ComponentName admin);
    int getOrganizationColorForUser(int userHandle);

+13 −0
Original line number Diff line number Diff line
@@ -16965,6 +16965,19 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
                .write();
    }
    @Override
    public void clearOrganizationIdForUser(int userHandle) {
        Preconditions.checkCallAuthorization(
                hasCallingOrSelfPermission(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS));
        synchronized (getLockObject()) {
            final ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userHandle);
            owner.mOrganizationId = null;
            owner.mEnrollmentSpecificId = null;
            saveSettingsLocked(userHandle);
        }
    }
    @Override
    public UserHandle createAndProvisionManagedProfile(
            @NonNull ManagedProfileProvisioningParams provisioningParams,