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

Commit 84f78524 authored by Kholoud Mohamed's avatar Kholoud Mohamed Committed by Android (Google) Code Review
Browse files

Merge "Add test APIs for policy size tracking" into main

parents 356e14a0 ce83a233
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