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

Commit ce83a233 authored by Kholoud Mohamed's avatar Kholoud Mohamed
Browse files

Add test APIs for policy size tracking

Also changed flag to a bug-fix flag

Bug: 324060156
Test: atest DevicePolicyManagerTest
Change-Id: Ie8ffeb5b50d39c211256a253f80f3d170d01f04a
parent 17205499
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -589,6 +589,7 @@ package android.app.admin {
    method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceNetworkLogs();
    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void forceRemoveActiveAdmin(@NonNull android.content.ComponentName, int);
    method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceSecurityLogs();
    method @FlaggedApi("android.app.admin.flags.device_policy_size_tracking_internal_bug_fix_enabled") @RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_STORAGE_LIMIT") public void forceSetMaxPolicyStorageLimit(int);
    method public void forceUpdateUserSetupComplete(int);
    method @NonNull public java.util.Set<java.lang.String> getDefaultCrossProfilePackages();
    method @Deprecated public int getDeviceOwnerType(@NonNull android.content.ComponentName);
@@ -599,6 +600,7 @@ package android.app.admin {
    method public long getLastSecurityLogRetrievalTime();
    method public java.util.List<java.lang.String> getOwnerInstalledCaCerts(@NonNull android.os.UserHandle);
    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public java.util.Set<java.lang.String> getPolicyExemptApps();
    method @FlaggedApi("android.app.admin.flags.device_policy_size_tracking_internal_bug_fix_enabled") @RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_STORAGE_LIMIT") public int getPolicySizeForAdmin(@NonNull android.app.admin.EnforcingAdmin);
    method public boolean isCurrentInputMethodSetByOwner();
    method public boolean isFactoryResetProtectionPolicySupported();
    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public boolean isNewUserDisclaimerAcknowledged();
@@ -667,6 +669,10 @@ package android.app.admin {
    field @NonNull public static final android.app.admin.DpcAuthority DPC_AUTHORITY;
  }

  public final class EnforcingAdmin implements android.os.Parcelable {
    ctor @FlaggedApi("android.app.admin.flags.device_policy_size_tracking_internal_bug_fix_enabled") public EnforcingAdmin(@NonNull String, @NonNull android.app.admin.Authority, @NonNull android.os.UserHandle, @Nullable android.content.ComponentName);
  }

  public final class FlagUnion extends android.app.admin.ResolutionMechanism<java.lang.Integer> {
    method public int describeContents();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ public final class AccountTypePolicyKey extends PolicyKey {
    @TestApi
    public AccountTypePolicyKey(@NonNull String key, @NonNull String accountType) {
        super(key);
        if (Flags.devicePolicySizeTrackingInternalEnabled()) {
        if (Flags.devicePolicySizeTrackingInternalBugFixEnabled()) {
            PolicySizeVerifier.enforceMaxStringLength(accountType, "accountType");
        }
        mAccountType = Objects.requireNonNull((accountType));
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ public final class BundlePolicyValue extends PolicyValue<Bundle> {

    public BundlePolicyValue(Bundle value) {
        super(value);
        if (Flags.devicePolicySizeTrackingInternalEnabled()) {
        if (Flags.devicePolicySizeTrackingInternalBugFixEnabled()) {
            PolicySizeVerifier.enforceMaxBundleFieldsLength(value);
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ public final class ComponentNamePolicyValue extends PolicyValue<ComponentName> {

    public ComponentNamePolicyValue(@NonNull ComponentName value) {
        super(value);
        if (Flags.devicePolicySizeTrackingInternalEnabled()) {
        if (Flags.devicePolicySizeTrackingInternalBugFixEnabled()) {
            PolicySizeVerifier.enforceMaxComponentNameLength(value);
        }
    }
+43 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ import static android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY;
import static android.Manifest.permission.SET_TIME;
import static android.Manifest.permission.SET_TIME_ZONE;
import static android.app.admin.DeviceAdminInfo.HEADLESS_DEVICE_OWNER_MODE_UNSUPPORTED;
import static android.app.admin.flags.Flags.FLAG_DEVICE_POLICY_SIZE_TRACKING_INTERNAL_BUG_FIX_ENABLED;
import static android.app.admin.flags.Flags.FLAG_DEVICE_THEFT_API_ENABLED;
import static android.app.admin.flags.Flags.FLAG_ESIM_MANAGEMENT_ENABLED;
import static android.app.admin.flags.Flags.FLAG_DEVICE_POLICY_SIZE_TRACKING_ENABLED;
@@ -17559,6 +17560,48 @@ public class DevicePolicyManager {
        return -1;
    }
    /**
     * Force sets the maximum storage size allowed for policies associated with an admin regardless
     * of the default value set in the system, unlike {@link #setMaxPolicyStorageLimit} which can
     * only set it to a value higher than the default value set by the system.Setting a limit of -1
     * effectively removes any storage restrictions.
     *
     * @param storageLimit Maximum storage allowed in bytes. Use -1 to disable limits.
     *
     * @hide
     */
    @TestApi
    @RequiresPermission(permission.MANAGE_DEVICE_POLICY_STORAGE_LIMIT)
    @FlaggedApi(FLAG_DEVICE_POLICY_SIZE_TRACKING_INTERNAL_BUG_FIX_ENABLED)
    public void forceSetMaxPolicyStorageLimit(int storageLimit) {
        if (mService != null) {
            try {
                mService.forceSetMaxPolicyStorageLimit(mContext.getPackageName(), storageLimit);
            } catch (RemoteException e) {
                throw e.rethrowFromSystemServer();
            }
        }
    }
    /**
     * Retrieves the size of the current policies set by the {@code admin}.
     *
     * @hide
     */
    @TestApi
    @RequiresPermission(permission.MANAGE_DEVICE_POLICY_STORAGE_LIMIT)
    @FlaggedApi(FLAG_DEVICE_POLICY_SIZE_TRACKING_INTERNAL_BUG_FIX_ENABLED)
    public int getPolicySizeForAdmin(@NonNull EnforcingAdmin admin) {
        if (mService != null) {
            try {
                return mService.getPolicySizeForAdmin(mContext.getPackageName(), admin);
            } catch (RemoteException e) {
                throw e.rethrowFromSystemServer();
            }
        }
        return -1;
    }
    /**
     * @return The headless device owner mode for the current set DO, returns
     * {@link DeviceAdminInfo#HEADLESS_DEVICE_OWNER_MODE_UNSUPPORTED} if no DO is set.
Loading