diff options
author | 2023-08-17 14:38:03 -0700 | |
---|---|---|
committer | 2023-08-24 20:39:12 +0000 | |
commit | 2bdfe873a8b320dad755eecd2f2506df47b8b9c7 (patch) | |
tree | 349931600cb33ca475027029067aa45d221b021a | |
parent | 798b1fe4e85744fabe949451b5eb38f581bfd844 (diff) |
Implement DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO AE user restriction
This CL adds a user restriction for disallowing UWB on a device.
A user restriction is needed for NIAP (Common Criteria) certification.
One of the requirements for the certification is to be able to enable/disable
all the radios.
Bug: 271452372
Test: Compiles
Merged-In: Idbdce79a4fffe62f4daf3d378452a547e8871322
Change-Id: Idbdce79a4fffe62f4daf3d378452a547e8871322
-rw-r--r-- | core/api/current.txt | 1 | ||||
-rw-r--r-- | core/java/android/os/UserManager.java | 26 | ||||
-rw-r--r-- | services/core/java/com/android/server/pm/UserRestrictionsUtils.java | 9 |
3 files changed, 33 insertions, 3 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 92fa9f484cd3..cba935fadb55 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -32371,6 +32371,7 @@ package android.os { field public static final String DISALLOW_MICROPHONE_TOGGLE = "disallow_microphone_toggle"; field public static final String DISALLOW_MODIFY_ACCOUNTS = "no_modify_accounts"; field public static final String DISALLOW_MOUNT_PHYSICAL_MEDIA = "no_physical_media"; + field public static final String DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO = "no_near_field_communication_radio"; field public static final String DISALLOW_NETWORK_RESET = "no_network_reset"; field public static final String DISALLOW_OUTGOING_BEAM = "no_outgoing_beam"; field public static final String DISALLOW_OUTGOING_CALLS = "no_outgoing_calls"; diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 83a4e9a8e6a8..b32cbff2a863 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -1527,6 +1527,31 @@ public class UserManager { public static final String DISALLOW_ULTRA_WIDEBAND_RADIO = "no_ultra_wideband_radio"; /** + * This user restriction specifies if Near-fied communication is disallowed on the device. If + * Near-field communication is disallowed it cannot be turned on via Settings. + * + * <p>This restriction can only be set by a device owner or a profile owner of an + * organization-owned managed profile on the parent profile. + * In both cases, the restriction applies globally on the device and will turn off the + * Near-field communication radio if it's currently on and prevent the radio from being turned + * on in the future. + * + * <p> + * Near-field communication (NFC) is a radio technology that allows two devices (like your phone + * and a payments terminal) to communicate with each other when they're close together. + * + * <p>Default is <code>false</code>. + * + * <p>Key for user restrictions. + * <p>Type: Boolean + * @see DevicePolicyManager#addUserRestriction(ComponentName, String) + * @see DevicePolicyManager#clearUserRestriction(ComponentName, String) + * @see #getUserRestrictions() + */ + public static final String DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO = + "no_near_field_communication_radio"; + + /** * List of key values that can be passed into the various user restriction related methods * in {@link UserManager} & {@link DevicePolicyManager}. * Note: This is slightly different from the real set of user restrictions listed in {@link @@ -1609,6 +1634,7 @@ public class UserManager { DISALLOW_ADD_WIFI_CONFIG, DISALLOW_CELLULAR_2G, DISALLOW_ULTRA_WIDEBAND_RADIO, + DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO, }) @Retention(RetentionPolicy.SOURCE) public @interface UserRestrictionKey {} diff --git a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java index 4849e0f0958b..3562ab5388e2 100644 --- a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java +++ b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java @@ -149,7 +149,8 @@ public class UserRestrictionsUtils { UserManager.DISALLOW_WIFI_DIRECT, UserManager.DISALLOW_ADD_WIFI_CONFIG, UserManager.DISALLOW_CELLULAR_2G, - UserManager.DISALLOW_ULTRA_WIDEBAND_RADIO + UserManager.DISALLOW_ULTRA_WIDEBAND_RADIO, + UserManager.DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO }); public static final Set<String> DEPRECATED_USER_RESTRICTIONS = Sets.newArraySet( @@ -199,7 +200,8 @@ public class UserRestrictionsUtils { UserManager.DISALLOW_WIFI_DIRECT, UserManager.DISALLOW_ADD_WIFI_CONFIG, UserManager.DISALLOW_CELLULAR_2G, - UserManager.DISALLOW_ULTRA_WIDEBAND_RADIO + UserManager.DISALLOW_ULTRA_WIDEBAND_RADIO, + UserManager.DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO ); /** @@ -240,7 +242,8 @@ public class UserRestrictionsUtils { UserManager.DISALLOW_WIFI_DIRECT, UserManager.DISALLOW_ADD_WIFI_CONFIG, UserManager.DISALLOW_CELLULAR_2G, - UserManager.DISALLOW_ULTRA_WIDEBAND_RADIO + UserManager.DISALLOW_ULTRA_WIDEBAND_RADIO, + UserManager.DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO ); /** |