Add more docs about location permission

Add documentation that indicates the requirement for location
permissions to more methods and constants in PhoneStateListener.

Bug: 158523376
Test: docs only
Change-Id: I9d785fd0fc9671652c4edb3bf7cc6184273120b8
This commit is contained in:
Hall Liu
2020-06-15 14:53:32 -07:00
parent d7d14eb420
commit 99115ac610

View File

@@ -219,6 +219,9 @@ public class PhoneStateListener {
/**
* Listen for changes to observed cell info.
*
* Listening to this event requires the {@link Manifest.permission#ACCESS_FINE_LOCATION}
* permission.
*
* @see #onCellInfoChanged
*/
public static final int LISTEN_CELL_INFO = 0x00000400;
@@ -457,6 +460,9 @@ public class PhoneStateListener {
* <p>Requires permission {@link android.Manifest.permission#READ_PRECISE_PHONE_STATE} or
* the calling app has carrier privileges (see {@link TelephonyManager#hasCarrierPrivileges}).
*
* <p>Also requires the {@link Manifest.permission#ACCESS_FINE_LOCATION} permission, regardless
* of whether the calling app has carrier privileges.
*
* @see #onRegistrationFailed
*/
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
@@ -468,6 +474,9 @@ public class PhoneStateListener {
* <p>Requires permission {@link android.Manifest.permission#READ_PRECISE_PHONE_STATE} or
* the calling app has carrier privileges (see {@link TelephonyManager#hasCarrierPrivileges}).
*
* <p>Also requires the {@link Manifest.permission#ACCESS_FINE_LOCATION} permission, regardless
* of whether the calling app has carrier privileges.
*
* @see #onBarringInfoChanged
*/
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
@@ -565,6 +574,11 @@ public class PhoneStateListener {
* subId. Otherwise, this callback applies to
* {@link SubscriptionManager#getDefaultSubscriptionId()}.
*
* The instance of {@link ServiceState} passed as an argument here will have various levels of
* location information stripped from it depending on the location permissions that your app
* holds. Only apps holding the {@link Manifest.permission#ACCESS_FINE_LOCATION} permission will
* receive all the information in {@link ServiceState}.
*
* @see ServiceState#STATE_EMERGENCY_ONLY
* @see ServiceState#STATE_IN_SERVICE
* @see ServiceState#STATE_OUT_OF_SERVICE