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

Commit 0a1f866c authored by Rubin Xu's avatar Rubin Xu Committed by Jonathan Scott
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
Merged-In: Ice1123744957ab57636ec1d9b0ca60a16c5a93cf
parent 73ad0800
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
@@ -13739,6 +13739,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
@@ -377,6 +377,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
@@ -16967,6 +16967,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,