diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 84f1880213b82..2d217186c9c72 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -1764,10 +1764,19 @@ public class UserManager { /** * Specifies if a user is not allowed to use 2g networks. * + *

This is a security feature. 2g has no mutual authentication between a device and + * cellular base station and downgrading a device's connection to 2g is a common tactic for + * several types of privacy and security compromising attacks that could allow an adversary + * to intercept, inject, or modify cellular communications. + * *

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 all cases, the setting applies globally on the device and will prevent the device from - * scanning for or connecting to 2g networks, except in the case of an emergency. + * In all cases, the setting applies globally on the device. + * + *

Cellular connectivity loss (where a device would have otherwise successfully + * connected to a 2g network) occurs if the device is in an area where only 2g networks are + * available. Emergency calls are an exception and are never impacted. The device will still + * scan for and connect to a 2g network for emergency calls. * *

Holders of the permission * {@link android.Manifest.permission#MANAGE_DEVICE_POLICY_MOBILE_NETWORK}