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

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

Merge "Enforce max size limits for policies" into main

parents 409b9aeb 86a71cb4
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.app.admin;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_ACCOUNT_TYPE;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_BUNDLE_KEY;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_KEY;
import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;

import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -53,6 +54,9 @@ public final class AccountTypePolicyKey extends PolicyKey {
    @TestApi
    public AccountTypePolicyKey(@NonNull String key, @NonNull String accountType) {
        super(key);
        if (devicePolicySizeTrackingEnabled()) {
            PolicySizeVerifier.enforceMaxStringLength(accountType, "accountType");
        }
        mAccountType = Objects.requireNonNull((accountType));
    }

+5 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.app.admin;

import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.Bundle;
@@ -30,6 +32,9 @@ public final class BundlePolicyValue extends PolicyValue<Bundle> {

    public BundlePolicyValue(Bundle value) {
        super(value);
        if (devicePolicySizeTrackingEnabled()) {
            PolicySizeVerifier.enforceMaxParcelableFieldsLength(value);
        }
    }

    private BundlePolicyValue(Parcel source) {
+5 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.app.admin;

import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.ComponentName;
@@ -30,6 +32,9 @@ public final class ComponentNamePolicyValue extends PolicyValue<ComponentName> {

    public ComponentNamePolicyValue(@NonNull ComponentName value) {
        super(value);
        if (devicePolicySizeTrackingEnabled()) {
            PolicySizeVerifier.enforceMaxComponentNameLength(value);
        }
    }

    private ComponentNamePolicyValue(Parcel source) {
+4 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.app.admin;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_INTENT_FILTER;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_BUNDLE_KEY;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_KEY;
import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;

import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -59,6 +60,9 @@ public final class IntentFilterPolicyKey extends PolicyKey {
    @TestApi
    public IntentFilterPolicyKey(@NonNull String identifier, @NonNull IntentFilter filter) {
        super(identifier);
        if (devicePolicySizeTrackingEnabled()) {
            PolicySizeVerifier.enforceMaxParcelableFieldsLength(filter);
        }
        mFilter = Objects.requireNonNull(filter);
    }

+14 −3
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.app.admin;

import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
@@ -75,7 +77,7 @@ public final class LockTaskPolicy extends PolicyValue<LockTaskPolicy> {
     */
    public LockTaskPolicy(@Nullable Set<String> packages) {
        if (packages != null) {
            mPackages.addAll(packages);
            setPackagesInternal(packages);
        }
        setValue(this);
    }
@@ -93,7 +95,7 @@ public final class LockTaskPolicy extends PolicyValue<LockTaskPolicy> {
     */
    public LockTaskPolicy(@Nullable Set<String> packages, int flags) {
        if (packages != null) {
            mPackages.addAll(packages);
            setPackagesInternal(packages);
        }
        mFlags = flags;
        setValue(this);
@@ -123,7 +125,7 @@ public final class LockTaskPolicy extends PolicyValue<LockTaskPolicy> {
     */
    public void setPackages(@NonNull Set<String> packages) {
        Objects.requireNonNull(packages);
        mPackages = new HashSet<>(packages);
        setPackagesInternal(packages);
    }

    /**
@@ -133,6 +135,15 @@ public final class LockTaskPolicy extends PolicyValue<LockTaskPolicy> {
        mFlags = flags;
    }

    private void setPackagesInternal(Set<String> packages) {
        if (devicePolicySizeTrackingEnabled()) {
            for (String p : packages) {
                PolicySizeVerifier.enforceMaxPackageNameLength(p);
            }
        }
        mPackages = new HashSet<>(packages);
    }

    @Override
    public boolean equals(@Nullable Object o) {
        if (this == o) return true;
Loading