diff options
| author | 2024-03-05 12:54:52 +0000 | |
|---|---|---|
| committer | 2024-03-05 12:54:52 +0000 | |
| commit | ea94f6dbcd7fe45c4b5d290e39f6ec7fdfc1db0a (patch) | |
| tree | 5bb9126a9f057678f978010c9fe5832923c04d69 | |
| parent | daa478f46244921189c4452a290649f1a54578a5 (diff) | |
| parent | 1cccfce5e29702424e71aabc338e20c2fa8b5d9a (diff) | |
Merge "create a separate flag for the internal policy size tracking changes" into main
13 files changed, 42 insertions, 40 deletions
diff --git a/core/java/android/app/admin/AccountTypePolicyKey.java b/core/java/android/app/admin/AccountTypePolicyKey.java index d81eb20512a2..51f313755e59 100644 --- a/core/java/android/app/admin/AccountTypePolicyKey.java +++ b/core/java/android/app/admin/AccountTypePolicyKey.java @@ -19,12 +19,12 @@ 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; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.app.admin.flags.Flags; import android.os.Bundle; import android.os.Parcel; @@ -54,7 +54,7 @@ public final class AccountTypePolicyKey extends PolicyKey { @TestApi public AccountTypePolicyKey(@NonNull String key, @NonNull String accountType) { super(key); - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { PolicySizeVerifier.enforceMaxStringLength(accountType, "accountType"); } mAccountType = Objects.requireNonNull((accountType)); diff --git a/core/java/android/app/admin/BundlePolicyValue.java b/core/java/android/app/admin/BundlePolicyValue.java index cc5e75fac0ea..4f7060461091 100644 --- a/core/java/android/app/admin/BundlePolicyValue.java +++ b/core/java/android/app/admin/BundlePolicyValue.java @@ -16,10 +16,9 @@ package android.app.admin; -import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled; - import android.annotation.NonNull; import android.annotation.Nullable; +import android.app.admin.flags.Flags; import android.os.Bundle; import android.os.Parcel; @@ -32,7 +31,7 @@ public final class BundlePolicyValue extends PolicyValue<Bundle> { public BundlePolicyValue(Bundle value) { super(value); - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { PolicySizeVerifier.enforceMaxParcelableFieldsLength(value); } } diff --git a/core/java/android/app/admin/ComponentNamePolicyValue.java b/core/java/android/app/admin/ComponentNamePolicyValue.java index 4d36195613ad..a957dbf132bb 100644 --- a/core/java/android/app/admin/ComponentNamePolicyValue.java +++ b/core/java/android/app/admin/ComponentNamePolicyValue.java @@ -16,10 +16,9 @@ package android.app.admin; -import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled; - import android.annotation.NonNull; import android.annotation.Nullable; +import android.app.admin.flags.Flags; import android.content.ComponentName; import android.os.Parcel; @@ -32,7 +31,7 @@ public final class ComponentNamePolicyValue extends PolicyValue<ComponentName> { public ComponentNamePolicyValue(@NonNull ComponentName value) { super(value); - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { PolicySizeVerifier.enforceMaxComponentNameLength(value); } } diff --git a/core/java/android/app/admin/IntentFilterPolicyKey.java b/core/java/android/app/admin/IntentFilterPolicyKey.java index de7ff9f0ad0f..63c3a4cb499f 100644 --- a/core/java/android/app/admin/IntentFilterPolicyKey.java +++ b/core/java/android/app/admin/IntentFilterPolicyKey.java @@ -19,12 +19,12 @@ 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; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.app.admin.flags.Flags; import android.content.IntentFilter; import android.os.Bundle; import android.os.Parcel; @@ -60,7 +60,7 @@ public final class IntentFilterPolicyKey extends PolicyKey { @TestApi public IntentFilterPolicyKey(@NonNull String identifier, @NonNull IntentFilter filter) { super(identifier); - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { PolicySizeVerifier.enforceMaxParcelableFieldsLength(filter); } mFilter = Objects.requireNonNull(filter); diff --git a/core/java/android/app/admin/LockTaskPolicy.java b/core/java/android/app/admin/LockTaskPolicy.java index 9d6ce243a19b..a36ea0508a95 100644 --- a/core/java/android/app/admin/LockTaskPolicy.java +++ b/core/java/android/app/admin/LockTaskPolicy.java @@ -16,11 +16,10 @@ package android.app.admin; -import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled; - import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; +import android.app.admin.flags.Flags; import android.os.Parcel; import android.os.Parcelable; @@ -136,7 +135,7 @@ public final class LockTaskPolicy extends PolicyValue<LockTaskPolicy> { } private void setPackagesInternal(Set<String> packages) { - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { for (String p : packages) { PolicySizeVerifier.enforceMaxPackageNameLength(p); } diff --git a/core/java/android/app/admin/PackagePermissionPolicyKey.java b/core/java/android/app/admin/PackagePermissionPolicyKey.java index 2241fddb7320..389585f036db 100644 --- a/core/java/android/app/admin/PackagePermissionPolicyKey.java +++ b/core/java/android/app/admin/PackagePermissionPolicyKey.java @@ -20,12 +20,12 @@ import static android.app.admin.PolicyUpdateReceiver.EXTRA_PACKAGE_NAME; import static android.app.admin.PolicyUpdateReceiver.EXTRA_PERMISSION_NAME; 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; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.app.admin.flags.Flags; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -59,7 +59,7 @@ public final class PackagePermissionPolicyKey extends PolicyKey { public PackagePermissionPolicyKey(@NonNull String identifier, @NonNull String packageName, @NonNull String permissionName) { super(identifier); - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { PolicySizeVerifier.enforceMaxPackageNameLength(packageName); PolicySizeVerifier.enforceMaxStringLength(permissionName, "permissionName"); } diff --git a/core/java/android/app/admin/PackagePolicyKey.java b/core/java/android/app/admin/PackagePolicyKey.java index 2ea17a18f6a6..68dc797f6513 100644 --- a/core/java/android/app/admin/PackagePolicyKey.java +++ b/core/java/android/app/admin/PackagePolicyKey.java @@ -19,12 +19,12 @@ package android.app.admin; import static android.app.admin.PolicyUpdateReceiver.EXTRA_PACKAGE_NAME; 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; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.app.admin.flags.Flags; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -55,7 +55,7 @@ public final class PackagePolicyKey extends PolicyKey { @TestApi public PackagePolicyKey(@NonNull String key, @NonNull String packageName) { super(key); - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { PolicySizeVerifier.enforceMaxPackageNameLength(packageName); } mPackageName = Objects.requireNonNull((packageName)); diff --git a/core/java/android/app/admin/StringPolicyValue.java b/core/java/android/app/admin/StringPolicyValue.java index f4d4adcfcedb..8995c0f20de8 100644 --- a/core/java/android/app/admin/StringPolicyValue.java +++ b/core/java/android/app/admin/StringPolicyValue.java @@ -16,10 +16,9 @@ package android.app.admin; -import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled; - import android.annotation.NonNull; import android.annotation.Nullable; +import android.app.admin.flags.Flags; import android.os.Parcel; import java.util.Objects; @@ -31,7 +30,7 @@ public final class StringPolicyValue extends PolicyValue<String> { public StringPolicyValue(@NonNull String value) { super(value); - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { PolicySizeVerifier.enforceMaxStringLength(value, "policyValue"); } } diff --git a/core/java/android/app/admin/StringSetPolicyValue.java b/core/java/android/app/admin/StringSetPolicyValue.java index 82fe761a414f..f37dfee0f9dc 100644 --- a/core/java/android/app/admin/StringSetPolicyValue.java +++ b/core/java/android/app/admin/StringSetPolicyValue.java @@ -16,10 +16,9 @@ package android.app.admin; -import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled; - import android.annotation.NonNull; import android.annotation.Nullable; +import android.app.admin.flags.Flags; import android.os.Parcel; import java.util.HashSet; @@ -33,7 +32,7 @@ public final class StringSetPolicyValue extends PolicyValue<Set<String>> { public StringSetPolicyValue(@NonNull Set<String> value) { super(value); - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { for (String str : value) { PolicySizeVerifier.enforceMaxStringLength(str, "policyValue"); } diff --git a/core/java/android/app/admin/UserRestrictionPolicyKey.java b/core/java/android/app/admin/UserRestrictionPolicyKey.java index d69a5f08ce2e..ee90ccd9417f 100644 --- a/core/java/android/app/admin/UserRestrictionPolicyKey.java +++ b/core/java/android/app/admin/UserRestrictionPolicyKey.java @@ -17,11 +17,11 @@ package android.app.admin; import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_KEY; -import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled; import android.annotation.NonNull; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.app.admin.flags.Flags; import android.os.Bundle; import android.os.Parcel; @@ -45,7 +45,7 @@ public final class UserRestrictionPolicyKey extends PolicyKey { @TestApi public UserRestrictionPolicyKey(@NonNull String identifier, @NonNull String restriction) { super(identifier); - if (devicePolicySizeTrackingEnabled()) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { PolicySizeVerifier.enforceMaxStringLength(restriction, "restriction"); } mRestriction = Objects.requireNonNull(restriction); diff --git a/core/java/android/app/admin/flags/flags.aconfig b/core/java/android/app/admin/flags/flags.aconfig index e1a69139d88d..19270199696e 100644 --- a/core/java/android/app/admin/flags/flags.aconfig +++ b/core/java/android/app/admin/flags/flags.aconfig @@ -10,7 +10,14 @@ flag { flag { name: "device_policy_size_tracking_enabled" namespace: "enterprise" - description: "Add feature to track the total policy size and have a max threshold." + description: "Add feature to track the total policy size and have a max threshold - public API changes" + bug: "281543351" +} + +flag { + name: "device_policy_size_tracking_internal_enabled" + namespace: "enterprise" + description: "Add feature to track the total policy size and have a max threshold - internal changes" bug: "281543351" } diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java index 12f44074a4ad..6aeb4fd53905 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java @@ -225,7 +225,7 @@ final class DevicePolicyEngine { synchronized (mLock) { PolicyState<V> localPolicyState = getLocalPolicyStateLocked(policyDefinition, userId); - if (Flags.devicePolicySizeTrackingEnabled() && false) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { if (!handleAdminPolicySizeLimit(localPolicyState, enforcingAdmin, value, policyDefinition, userId)) { return; @@ -350,7 +350,7 @@ final class DevicePolicyEngine { } PolicyState<V> localPolicyState = getLocalPolicyStateLocked(policyDefinition, userId); - if (Flags.devicePolicySizeTrackingEnabled() && false) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { decreasePolicySizeForAdmin(localPolicyState, enforcingAdmin); } @@ -496,7 +496,7 @@ final class DevicePolicyEngine { synchronized (mLock) { PolicyState<V> globalPolicyState = getGlobalPolicyStateLocked(policyDefinition); - if (Flags.devicePolicySizeTrackingEnabled() && false) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { if (!handleAdminPolicySizeLimit(globalPolicyState, enforcingAdmin, value, policyDefinition, UserHandle.USER_ALL)) { return; @@ -568,7 +568,7 @@ final class DevicePolicyEngine { synchronized (mLock) { PolicyState<V> policyState = getGlobalPolicyStateLocked(policyDefinition); - if (Flags.devicePolicySizeTrackingEnabled() && false) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { decreasePolicySizeForAdmin(policyState, enforcingAdmin); } @@ -1892,7 +1892,7 @@ final class DevicePolicyEngine { private void writeEnforcingAdminSizeInner(TypedXmlSerializer serializer) throws IOException { - if (Flags.devicePolicySizeTrackingEnabled() && false) { + if (Flags.devicePolicySizeTrackingInternalEnabled()) { if (mAdminPolicySize != null) { for (int i = 0; i < mAdminPolicySize.size(); i++) { int userId = mAdminPolicySize.keyAt(i); @@ -1916,7 +1916,7 @@ final class DevicePolicyEngine { private void writeMaxPolicySizeInner(TypedXmlSerializer serializer) throws IOException { - if (!Flags.devicePolicySizeTrackingEnabled() || true) { + if (!Flags.devicePolicySizeTrackingInternalEnabled()) { return; } serializer.startTag(/* namespace= */ null, TAG_MAX_POLICY_SIZE_LIMIT); @@ -2081,7 +2081,7 @@ final class DevicePolicyEngine { private void readMaxPolicySizeInner(TypedXmlPullParser parser) throws XmlPullParserException, IOException { - if (!Flags.devicePolicySizeTrackingEnabled() || true) { + if (!Flags.devicePolicySizeTrackingInternalEnabled()) { return; } mPolicySizeLimit = parser.getAttributeInt(/* namespace= */ null, ATTR_POLICY_SUM_SIZE); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 0f97f4a7cdc0..80046b6075ee 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -27,6 +27,7 @@ import static android.Manifest.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECU import static android.Manifest.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS; +import static android.Manifest.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_AUTOFILL; @@ -83,7 +84,6 @@ import static android.Manifest.permission.MANAGE_DEVICE_POLICY_THREAD_NETWORK; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_TIME; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER; -import static android.Manifest.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_VPN; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_WALLPAPER; import static android.Manifest.permission.MANAGE_DEVICE_POLICY_WIFI; @@ -196,11 +196,11 @@ import static android.app.admin.DevicePolicyManager.STATUS_CANNOT_ADD_MANAGED_PR import static android.app.admin.DevicePolicyManager.STATUS_DEVICE_ADMIN_NOT_SUPPORTED; import static android.app.admin.DevicePolicyManager.STATUS_HAS_DEVICE_OWNER; import static android.app.admin.DevicePolicyManager.STATUS_HAS_PAIRED; +import static android.app.admin.DevicePolicyManager.STATUS_HEADLESS_ONLY_SYSTEM_USER; import static android.app.admin.DevicePolicyManager.STATUS_HEADLESS_SYSTEM_USER_MODE_NOT_SUPPORTED; import static android.app.admin.DevicePolicyManager.STATUS_MANAGED_USERS_NOT_SUPPORTED; import static android.app.admin.DevicePolicyManager.STATUS_NONSYSTEM_USER_EXISTS; import static android.app.admin.DevicePolicyManager.STATUS_NOT_SYSTEM_USER; -import static android.app.admin.DevicePolicyManager.STATUS_HEADLESS_ONLY_SYSTEM_USER; import static android.app.admin.DevicePolicyManager.STATUS_OK; import static android.app.admin.DevicePolicyManager.STATUS_PROVISIONING_NOT_ALLOWED_FOR_NON_DEVELOPER_USERS; import static android.app.admin.DevicePolicyManager.STATUS_SYSTEM_USER; @@ -12062,7 +12062,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } if (packageList != null) { - if (!Flags.devicePolicySizeTrackingEnabled()) { + if (!Flags.devicePolicySizeTrackingInternalEnabled()) { for (String pkg : packageList) { PolicySizeVerifier.enforceMaxPackageNameLength(pkg); } @@ -13771,7 +13771,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { return; } - if (!Flags.devicePolicySizeTrackingEnabled()) { + if (!Flags.devicePolicySizeTrackingInternalEnabled()) { PolicySizeVerifier.enforceMaxStringLength(accountType, "account type"); } @@ -14385,7 +14385,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { public void setLockTaskPackages(ComponentName who, String callerPackageName, String[] packages) throws SecurityException { Objects.requireNonNull(packages, "packages is null"); - if (!Flags.devicePolicySizeTrackingEnabled()) { + if (!Flags.devicePolicySizeTrackingInternalEnabled()) { for (String pkg : packages) { PolicySizeVerifier.enforceMaxPackageNameLength(pkg); } @@ -24235,7 +24235,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { @Override public void setMaxPolicyStorageLimit(String callerPackageName, int storageLimit) { - if (!Flags.devicePolicySizeTrackingEnabled() || true) { + if (!Flags.devicePolicySizeTrackingInternalEnabled()) { return; } CallerIdentity caller = getCallerIdentity(callerPackageName); @@ -24247,7 +24247,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { @Override public int getMaxPolicyStorageLimit(String callerPackageName) { - if (!Flags.devicePolicySizeTrackingEnabled() || true) { + if (!Flags.devicePolicySizeTrackingInternalEnabled()) { return -1; } CallerIdentity caller = getCallerIdentity(callerPackageName); |