Don't return generic policy definitions
Methods modified in this CL are used exclusively to build policies that
are settable by admins. A generic policy cannot be set - it is missing
an argument (e.g. a package name), and can't really be serialized
because Xml.attribute will throw when given a null value. Thus when
these methods are used with null arguments, it is a programming error.
Bug: 335663055
Test: TH
Flag: EXEMPT trivial change
Change-Id: Idd7f16bf215c35d1e860612c8d901711bf3b476d
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java
index f86d307..19a942c 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java
@@ -129,9 +129,8 @@
*/
static PolicyDefinition<Integer> PERMISSION_GRANT(
@NonNull String packageName, @NonNull String permissionName) {
- if (packageName == null || permissionName == null) {
- return GENERIC_PERMISSION_GRANT;
- }
+ Objects.requireNonNull(packageName, "packageName must not be null");
+ Objects.requireNonNull(permissionName, "permissionName must not be null");
return GENERIC_PERMISSION_GRANT.createPolicyDefinition(
new PackagePermissionPolicyKey(
DevicePolicyIdentifiers.PERMISSION_GRANT_POLICY,
@@ -190,10 +189,8 @@
* {@link #GENERIC_PERSISTENT_PREFERRED_ACTIVITY}.
*/
static PolicyDefinition<ComponentName> PERSISTENT_PREFERRED_ACTIVITY(
- IntentFilter intentFilter) {
- if (intentFilter == null) {
- return GENERIC_PERSISTENT_PREFERRED_ACTIVITY;
- }
+ @NonNull IntentFilter intentFilter) {
+ Objects.requireNonNull(intentFilter, "intentFilter must not be null");
return GENERIC_PERSISTENT_PREFERRED_ACTIVITY.createPolicyDefinition(
new IntentFilterPolicyKey(
DevicePolicyIdentifiers.PERSISTENT_PREFERRED_ACTIVITY_POLICY,
@@ -216,11 +213,8 @@
* Passing in {@code null} for {@code packageName} will return
* {@link #GENERIC_PACKAGE_UNINSTALL_BLOCKED}.
*/
- static PolicyDefinition<Boolean> PACKAGE_UNINSTALL_BLOCKED(
- String packageName) {
- if (packageName == null) {
- return GENERIC_PACKAGE_UNINSTALL_BLOCKED;
- }
+ static PolicyDefinition<Boolean> PACKAGE_UNINSTALL_BLOCKED(@NonNull String packageName) {
+ Objects.requireNonNull(packageName, "packageName must not be null");
return GENERIC_PACKAGE_UNINSTALL_BLOCKED.createPolicyDefinition(
new PackagePolicyKey(
DevicePolicyIdentifiers.PACKAGE_UNINSTALL_BLOCKED_POLICY, packageName));
@@ -247,10 +241,8 @@
* Passing in {@code null} for {@code packageName} will return
* {@link #GENERIC_APPLICATION_RESTRICTIONS}.
*/
- static PolicyDefinition<Bundle> APPLICATION_RESTRICTIONS(String packageName) {
- if (packageName == null) {
- return GENERIC_APPLICATION_RESTRICTIONS;
- }
+ static PolicyDefinition<Bundle> APPLICATION_RESTRICTIONS(@NonNull String packageName) {
+ Objects.requireNonNull(packageName, "packageName must not be null");
return GENERIC_APPLICATION_RESTRICTIONS.createPolicyDefinition(
new PackagePolicyKey(
DevicePolicyIdentifiers.APPLICATION_RESTRICTIONS_POLICY, packageName));
@@ -293,10 +285,8 @@
* Passing in {@code null} for {@code packageName} will return
* {@link #GENERIC_APPLICATION_HIDDEN}.
*/
- static PolicyDefinition<Boolean> APPLICATION_HIDDEN(String packageName) {
- if (packageName == null) {
- return GENERIC_APPLICATION_HIDDEN;
- }
+ static PolicyDefinition<Boolean> APPLICATION_HIDDEN(@NonNull String packageName) {
+ Objects.requireNonNull(packageName, "packageName must not be null");
return GENERIC_APPLICATION_HIDDEN.createPolicyDefinition(
new PackagePolicyKey(
DevicePolicyIdentifiers.APPLICATION_HIDDEN_POLICY, packageName));
@@ -319,10 +309,8 @@
* Passing in {@code null} for {@code accountType} will return
* {@link #GENERIC_ACCOUNT_MANAGEMENT_DISABLED}.
*/
- static PolicyDefinition<Boolean> ACCOUNT_MANAGEMENT_DISABLED(String accountType) {
- if (accountType == null) {
- return GENERIC_ACCOUNT_MANAGEMENT_DISABLED;
- }
+ static PolicyDefinition<Boolean> ACCOUNT_MANAGEMENT_DISABLED(@NonNull String accountType) {
+ Objects.requireNonNull(accountType, "accountType must not be null");
return GENERIC_ACCOUNT_MANAGEMENT_DISABLED.createPolicyDefinition(
new AccountTypePolicyKey(
DevicePolicyIdentifiers.ACCOUNT_MANAGEMENT_DISABLED_POLICY, accountType));