Loading core/java/android/app/admin/StringSetPolicyValue.java→core/java/android/app/admin/PackageSetPolicyValue.java +13 −13 Original line number Diff line number Diff line Loading @@ -28,18 +28,18 @@ import java.util.Set; /** * @hide */ public final class StringSetPolicyValue extends PolicyValue<Set<String>> { public final class PackageSetPolicyValue extends PolicyValue<Set<String>> { public StringSetPolicyValue(@NonNull Set<String> value) { public PackageSetPolicyValue(@NonNull Set<String> value) { super(value); if (Flags.devicePolicySizeTrackingInternalBugFixEnabled()) { for (String str : value) { PolicySizeVerifier.enforceMaxStringLength(str, "policyValue"); for (String packageName : value) { PolicySizeVerifier.enforceMaxPackageNameLength(packageName); } } } public StringSetPolicyValue(Parcel source) { public PackageSetPolicyValue(Parcel source) { this(readValues(source)); } Loading @@ -56,7 +56,7 @@ public final class StringSetPolicyValue extends PolicyValue<Set<String>> { public boolean equals(@Nullable Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; StringSetPolicyValue other = (StringSetPolicyValue) o; PackageSetPolicyValue other = (PackageSetPolicyValue) o; return Objects.equals(getValue(), other.getValue()); } Loading @@ -67,7 +67,7 @@ public final class StringSetPolicyValue extends PolicyValue<Set<String>> { @Override public String toString() { return "StringSetPolicyValue { " + getValue() + " }"; return "PackageNameSetPolicyValue { " + getValue() + " }"; } @Override Loading @@ -84,16 +84,16 @@ public final class StringSetPolicyValue extends PolicyValue<Set<String>> { } @NonNull public static final Creator<StringSetPolicyValue> CREATOR = new Creator<StringSetPolicyValue>() { public static final Creator<PackageSetPolicyValue> CREATOR = new Creator<PackageSetPolicyValue>() { @Override public StringSetPolicyValue createFromParcel(Parcel source) { return new StringSetPolicyValue(source); public PackageSetPolicyValue createFromParcel(Parcel source) { return new PackageSetPolicyValue(source); } @Override public StringSetPolicyValue[] newArray(int size) { return new StringSetPolicyValue[size]; public PackageSetPolicyValue[] newArray(int size) { return new PackageSetPolicyValue[size]; } }; } services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +10 −8 Original line number Diff line number Diff line Loading @@ -349,8 +349,8 @@ import android.app.admin.PolicyValue; import android.app.admin.PreferentialNetworkServiceConfig; import android.app.admin.SecurityLog; import android.app.admin.SecurityLog.SecurityEvent; import android.app.admin.PackageSetPolicyValue; import android.app.admin.StartInstallingUpdateCallback; import android.app.admin.StringSetPolicyValue; import android.app.admin.SystemUpdateInfo; import android.app.admin.SystemUpdatePolicy; import android.app.admin.UnsafeStateException; Loading Loading @@ -12073,7 +12073,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.PERMITTED_INPUT_METHODS, admin, new StringSetPolicyValue(new HashSet<>(packageList)), new PackageSetPolicyValue(new HashSet<>(packageList)), userId); } } Loading Loading @@ -20358,12 +20358,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setGlobalPolicy( PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, enforcingAdmin, new StringSetPolicyValue(packages)); new PackageSetPolicyValue(packages)); } else { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, enforcingAdmin, new StringSetPolicyValue(packages), new PackageSetPolicyValue(packages), caller.getUserId()); } } Loading Loading @@ -24045,7 +24045,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.PERMITTED_INPUT_METHODS, enforcingAdmin, new StringSetPolicyValue( new PackageSetPolicyValue( new HashSet<>(admin.permittedInputMethods)), admin.getUserHandle().getIdentifier()); } Loading @@ -24054,7 +24054,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.PERMITTED_INPUT_METHODS, enforcingAdmin, new StringSetPolicyValue( new PackageSetPolicyValue( new HashSet<>(admin.getParentActiveAdmin() .permittedInputMethods)), getProfileParentId(admin.getUserHandle().getIdentifier())); Loading Loading @@ -24110,12 +24110,14 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setGlobalPolicy( PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, enforcingAdmin, new StringSetPolicyValue(new HashSet<>(admin.protectedPackages))); new PackageSetPolicyValue( new HashSet<>(admin.protectedPackages))); } else { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, enforcingAdmin, new StringSetPolicyValue(new HashSet<>(admin.protectedPackages)), new PackageSetPolicyValue( new HashSet<>(admin.protectedPackages)), admin.getUserHandle().getIdentifier()); } } services/devicepolicy/java/com/android/server/devicepolicy/StringSetPolicySerializer.java→services/devicepolicy/java/com/android/server/devicepolicy/PackageSetPolicySerializer.java +4 −4 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package com.android.server.devicepolicy; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.admin.PolicyValue; import android.app.admin.StringSetPolicyValue; import android.app.admin.PackageSetPolicyValue; import android.util.Log; import com.android.modules.utils.TypedXmlPullParser; Loading @@ -30,7 +30,7 @@ import java.util.Objects; import java.util.Set; // TODO(scottjonathan): Replace with generic set implementation final class StringSetPolicySerializer extends PolicySerializer<Set<String>> { final class PackageSetPolicySerializer extends PolicySerializer<Set<String>> { private static final String ATTR_VALUES = "strings"; private static final String ATTR_VALUES_SEPARATOR = ";"; @Override Loading @@ -45,10 +45,10 @@ final class StringSetPolicySerializer extends PolicySerializer<Set<String>> { PolicyValue<Set<String>> readFromXml(TypedXmlPullParser parser) { String valuesStr = parser.getAttributeValue(/* namespace= */ null, ATTR_VALUES); if (valuesStr == null) { Log.e(DevicePolicyEngine.TAG, "Error parsing StringSet policy value."); Log.e(DevicePolicyEngine.TAG, "Error parsing PackageSet policy value."); return null; } Set<String> values = Set.of(valuesStr.split(ATTR_VALUES_SEPARATOR)); return new StringSetPolicyValue(values); return new PackageSetPolicyValue(values); } } services/devicepolicy/java/com/android/server/devicepolicy/StringSetUnion.java→services/devicepolicy/java/com/android/server/devicepolicy/PackageSetUnion.java +7 −6 Original line number Diff line number Diff line Loading @@ -18,14 +18,15 @@ package com.android.server.devicepolicy; import android.annotation.NonNull; import android.app.admin.PolicyValue; import android.app.admin.StringSetPolicyValue; import android.app.admin.PackageSetPolicyValue; import android.app.admin.StringSetUnion; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Objects; import java.util.Set; final class StringSetUnion extends ResolutionMechanism<Set<String>> { final class PackageSetUnion extends ResolutionMechanism<Set<String>> { @Override PolicyValue<Set<String>> resolve( Loading @@ -38,17 +39,17 @@ final class StringSetUnion extends ResolutionMechanism<Set<String>> { for (PolicyValue<Set<String>> policy : adminPolicies.values()) { unionOfPolicies.addAll(policy.getValue()); } return new StringSetPolicyValue(unionOfPolicies); return new PackageSetPolicyValue(unionOfPolicies); } @Override android.app.admin.StringSetUnion getParcelableResolutionMechanism() { return new android.app.admin.StringSetUnion(); StringSetUnion getParcelableResolutionMechanism() { return new StringSetUnion(); } @Override public String toString() { return "SetUnion {}"; return "PackageSetUnion {}"; } } services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java +3 −3 Original line number Diff line number Diff line Loading @@ -162,9 +162,9 @@ final class PolicyDefinition<V> { new PolicyDefinition<>( new NoArgsPolicyKey( DevicePolicyIdentifiers.USER_CONTROL_DISABLED_PACKAGES_POLICY), new StringSetUnion(), new PackageSetUnion(), PolicyEnforcerCallbacks::setUserControlDisabledPackages, new StringSetPolicySerializer()); new PackageSetPolicySerializer()); // This is saved in the static map sPolicyDefinitions so that we're able to reconstruct the // actual policy with the correct arguments (i.e. packageName) when reading the policies from Loading Loading @@ -328,7 +328,7 @@ final class PolicyDefinition<V> { new MostRecent<>(), POLICY_FLAG_LOCAL_ONLY_POLICY | POLICY_FLAG_INHERITABLE, (Set<String> value, Context context, Integer userId, PolicyKey policyKey) -> true, new StringSetPolicySerializer()); new PackageSetPolicySerializer()); static PolicyDefinition<Boolean> SCREEN_CAPTURE_DISABLED = new PolicyDefinition<>( Loading Loading
core/java/android/app/admin/StringSetPolicyValue.java→core/java/android/app/admin/PackageSetPolicyValue.java +13 −13 Original line number Diff line number Diff line Loading @@ -28,18 +28,18 @@ import java.util.Set; /** * @hide */ public final class StringSetPolicyValue extends PolicyValue<Set<String>> { public final class PackageSetPolicyValue extends PolicyValue<Set<String>> { public StringSetPolicyValue(@NonNull Set<String> value) { public PackageSetPolicyValue(@NonNull Set<String> value) { super(value); if (Flags.devicePolicySizeTrackingInternalBugFixEnabled()) { for (String str : value) { PolicySizeVerifier.enforceMaxStringLength(str, "policyValue"); for (String packageName : value) { PolicySizeVerifier.enforceMaxPackageNameLength(packageName); } } } public StringSetPolicyValue(Parcel source) { public PackageSetPolicyValue(Parcel source) { this(readValues(source)); } Loading @@ -56,7 +56,7 @@ public final class StringSetPolicyValue extends PolicyValue<Set<String>> { public boolean equals(@Nullable Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; StringSetPolicyValue other = (StringSetPolicyValue) o; PackageSetPolicyValue other = (PackageSetPolicyValue) o; return Objects.equals(getValue(), other.getValue()); } Loading @@ -67,7 +67,7 @@ public final class StringSetPolicyValue extends PolicyValue<Set<String>> { @Override public String toString() { return "StringSetPolicyValue { " + getValue() + " }"; return "PackageNameSetPolicyValue { " + getValue() + " }"; } @Override Loading @@ -84,16 +84,16 @@ public final class StringSetPolicyValue extends PolicyValue<Set<String>> { } @NonNull public static final Creator<StringSetPolicyValue> CREATOR = new Creator<StringSetPolicyValue>() { public static final Creator<PackageSetPolicyValue> CREATOR = new Creator<PackageSetPolicyValue>() { @Override public StringSetPolicyValue createFromParcel(Parcel source) { return new StringSetPolicyValue(source); public PackageSetPolicyValue createFromParcel(Parcel source) { return new PackageSetPolicyValue(source); } @Override public StringSetPolicyValue[] newArray(int size) { return new StringSetPolicyValue[size]; public PackageSetPolicyValue[] newArray(int size) { return new PackageSetPolicyValue[size]; } }; }
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +10 −8 Original line number Diff line number Diff line Loading @@ -349,8 +349,8 @@ import android.app.admin.PolicyValue; import android.app.admin.PreferentialNetworkServiceConfig; import android.app.admin.SecurityLog; import android.app.admin.SecurityLog.SecurityEvent; import android.app.admin.PackageSetPolicyValue; import android.app.admin.StartInstallingUpdateCallback; import android.app.admin.StringSetPolicyValue; import android.app.admin.SystemUpdateInfo; import android.app.admin.SystemUpdatePolicy; import android.app.admin.UnsafeStateException; Loading Loading @@ -12073,7 +12073,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.PERMITTED_INPUT_METHODS, admin, new StringSetPolicyValue(new HashSet<>(packageList)), new PackageSetPolicyValue(new HashSet<>(packageList)), userId); } } Loading Loading @@ -20358,12 +20358,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setGlobalPolicy( PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, enforcingAdmin, new StringSetPolicyValue(packages)); new PackageSetPolicyValue(packages)); } else { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, enforcingAdmin, new StringSetPolicyValue(packages), new PackageSetPolicyValue(packages), caller.getUserId()); } } Loading Loading @@ -24045,7 +24045,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.PERMITTED_INPUT_METHODS, enforcingAdmin, new StringSetPolicyValue( new PackageSetPolicyValue( new HashSet<>(admin.permittedInputMethods)), admin.getUserHandle().getIdentifier()); } Loading @@ -24054,7 +24054,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.PERMITTED_INPUT_METHODS, enforcingAdmin, new StringSetPolicyValue( new PackageSetPolicyValue( new HashSet<>(admin.getParentActiveAdmin() .permittedInputMethods)), getProfileParentId(admin.getUserHandle().getIdentifier())); Loading Loading @@ -24110,12 +24110,14 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { mDevicePolicyEngine.setGlobalPolicy( PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, enforcingAdmin, new StringSetPolicyValue(new HashSet<>(admin.protectedPackages))); new PackageSetPolicyValue( new HashSet<>(admin.protectedPackages))); } else { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, enforcingAdmin, new StringSetPolicyValue(new HashSet<>(admin.protectedPackages)), new PackageSetPolicyValue( new HashSet<>(admin.protectedPackages)), admin.getUserHandle().getIdentifier()); } }
services/devicepolicy/java/com/android/server/devicepolicy/StringSetPolicySerializer.java→services/devicepolicy/java/com/android/server/devicepolicy/PackageSetPolicySerializer.java +4 −4 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package com.android.server.devicepolicy; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.admin.PolicyValue; import android.app.admin.StringSetPolicyValue; import android.app.admin.PackageSetPolicyValue; import android.util.Log; import com.android.modules.utils.TypedXmlPullParser; Loading @@ -30,7 +30,7 @@ import java.util.Objects; import java.util.Set; // TODO(scottjonathan): Replace with generic set implementation final class StringSetPolicySerializer extends PolicySerializer<Set<String>> { final class PackageSetPolicySerializer extends PolicySerializer<Set<String>> { private static final String ATTR_VALUES = "strings"; private static final String ATTR_VALUES_SEPARATOR = ";"; @Override Loading @@ -45,10 +45,10 @@ final class StringSetPolicySerializer extends PolicySerializer<Set<String>> { PolicyValue<Set<String>> readFromXml(TypedXmlPullParser parser) { String valuesStr = parser.getAttributeValue(/* namespace= */ null, ATTR_VALUES); if (valuesStr == null) { Log.e(DevicePolicyEngine.TAG, "Error parsing StringSet policy value."); Log.e(DevicePolicyEngine.TAG, "Error parsing PackageSet policy value."); return null; } Set<String> values = Set.of(valuesStr.split(ATTR_VALUES_SEPARATOR)); return new StringSetPolicyValue(values); return new PackageSetPolicyValue(values); } }
services/devicepolicy/java/com/android/server/devicepolicy/StringSetUnion.java→services/devicepolicy/java/com/android/server/devicepolicy/PackageSetUnion.java +7 −6 Original line number Diff line number Diff line Loading @@ -18,14 +18,15 @@ package com.android.server.devicepolicy; import android.annotation.NonNull; import android.app.admin.PolicyValue; import android.app.admin.StringSetPolicyValue; import android.app.admin.PackageSetPolicyValue; import android.app.admin.StringSetUnion; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Objects; import java.util.Set; final class StringSetUnion extends ResolutionMechanism<Set<String>> { final class PackageSetUnion extends ResolutionMechanism<Set<String>> { @Override PolicyValue<Set<String>> resolve( Loading @@ -38,17 +39,17 @@ final class StringSetUnion extends ResolutionMechanism<Set<String>> { for (PolicyValue<Set<String>> policy : adminPolicies.values()) { unionOfPolicies.addAll(policy.getValue()); } return new StringSetPolicyValue(unionOfPolicies); return new PackageSetPolicyValue(unionOfPolicies); } @Override android.app.admin.StringSetUnion getParcelableResolutionMechanism() { return new android.app.admin.StringSetUnion(); StringSetUnion getParcelableResolutionMechanism() { return new StringSetUnion(); } @Override public String toString() { return "SetUnion {}"; return "PackageSetUnion {}"; } }
services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java +3 −3 Original line number Diff line number Diff line Loading @@ -162,9 +162,9 @@ final class PolicyDefinition<V> { new PolicyDefinition<>( new NoArgsPolicyKey( DevicePolicyIdentifiers.USER_CONTROL_DISABLED_PACKAGES_POLICY), new StringSetUnion(), new PackageSetUnion(), PolicyEnforcerCallbacks::setUserControlDisabledPackages, new StringSetPolicySerializer()); new PackageSetPolicySerializer()); // This is saved in the static map sPolicyDefinitions so that we're able to reconstruct the // actual policy with the correct arguments (i.e. packageName) when reading the policies from Loading Loading @@ -328,7 +328,7 @@ final class PolicyDefinition<V> { new MostRecent<>(), POLICY_FLAG_LOCAL_ONLY_POLICY | POLICY_FLAG_INHERITABLE, (Set<String> value, Context context, Integer userId, PolicyKey policyKey) -> true, new StringSetPolicySerializer()); new PackageSetPolicySerializer()); static PolicyDefinition<Boolean> SCREEN_CAPTURE_DISABLED = new PolicyDefinition<>( Loading