diff --git a/Android.mk b/Android.mk index 991d18513be8c..2431e28edc05a 100644 --- a/Android.mk +++ b/Android.mk @@ -923,6 +923,7 @@ framework_docs_LOCAL_DROIDDOC_HTML_DIR := docs/html # Conscrypt (com.android.org.conscrypt) is an implementation detail and should # not be referenced in the documentation. framework_docs_LOCAL_DROIDDOC_OPTIONS := \ + -android \ -knowntags ./frameworks/base/docs/knowntags.txt \ -knowntags ./libcore/known_oj_tags.txt \ -hidePackage com.android.org.conscrypt \ @@ -952,8 +953,8 @@ framework_docs_LOCAL_DROIDDOC_OPTIONS := \ -since $(SRC_API_DIR)/24.txt 24 \ -since $(SRC_API_DIR)/25.txt 25 \ -since ./frameworks/base/api/current.txt O \ - -werror -hide 111 -hide 113 \ - -overview $(LOCAL_PATH)/core/java/overview.html + -werror -hide 111 -hide 113 -hide 121 \ + -overview $(LOCAL_PATH)/core/java/overview.html \ # Allow the support library to add its own droiddoc options. include $(LOCAL_PATH)/../support/droiddoc.mk diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index 0676bca0e7967..6d87de8e30013 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -20,7 +20,9 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RawRes; +import android.annotation.SdkConstant; import android.annotation.SystemApi; +import android.annotation.SdkConstant.SdkConstantType; import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; @@ -103,6 +105,7 @@ public class WallpaperManager { *
Output: RESULT_OK if user decided to crop/set the wallpaper, RESULT_CANCEL otherwise * Activities that support this intent should specify a MIME filter of "image/*" */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_CROP_AND_SET_WALLPAPER = "android.service.wallpaper.CROP_AND_SET_WALLPAPER"; diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 9c87ff27caafa..da43fecdfc9ef 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -1399,6 +1399,7 @@ public class Intent implements Parcelable, Cloneable { *
Input: nothing *
Output: nothing */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_FACTORY_TEST = "android.intent.action.FACTORY_TEST"; /** @@ -2061,6 +2062,7 @@ public class Intent implements Parcelable, Cloneable { * temporary system dialog to dismiss. Some examples of temporary system * dialogs are the notification window-shade and the recent tasks dialog. */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS"; /** * Broadcast Action: Trigger the download and eventual installation @@ -2590,6 +2592,7 @@ public class Intent implements Parcelable, Cloneable { * @deprecated replaced by android.os.storage.StorageEventListener */ @Deprecated + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_UMS_CONNECTED = "android.intent.action.UMS_CONNECTED"; /** @@ -2600,6 +2603,7 @@ public class Intent implements Parcelable, Cloneable { * @deprecated replaced by android.os.storage.StorageEventListener */ @Deprecated + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_UMS_DISCONNECTED = "android.intent.action.UMS_DISCONNECTED"; /** diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java index ae92457b6dd26..b2a2aafac6da2 100644 --- a/core/java/android/hardware/usb/UsbManager.java +++ b/core/java/android/hardware/usb/UsbManager.java @@ -17,9 +17,9 @@ package android.hardware.usb; -import com.android.internal.util.Preconditions; - import android.annotation.Nullable; +import android.annotation.SdkConstant; +import android.annotation.SdkConstant.SdkConstantType; import android.app.PendingIntent; import android.content.ComponentName; import android.content.Context; @@ -30,6 +30,8 @@ import android.os.Process; import android.os.RemoteException; import android.util.Log; +import com.android.internal.util.Preconditions; + import java.util.HashMap; /** @@ -109,6 +111,7 @@ public class UsbManager { * for the attached device * */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USB_DEVICE_ATTACHED = "android.hardware.usb.action.USB_DEVICE_ATTACHED"; @@ -121,6 +124,7 @@ public class UsbManager { * for the detached device * */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USB_DEVICE_DETACHED = "android.hardware.usb.action.USB_DEVICE_DETACHED"; @@ -133,6 +137,7 @@ public class UsbManager { * for the attached accessory * */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USB_ACCESSORY_ATTACHED = "android.hardware.usb.action.USB_ACCESSORY_ATTACHED"; @@ -145,6 +150,7 @@ public class UsbManager { * for the attached accessory that was detached * */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USB_ACCESSORY_DETACHED = "android.hardware.usb.action.USB_ACCESSORY_DETACHED"; diff --git a/core/java/android/os/DropBoxManager.java b/core/java/android/os/DropBoxManager.java index cb85eef5724fd..db84b6fbf3c53 100644 --- a/core/java/android/os/DropBoxManager.java +++ b/core/java/android/os/DropBoxManager.java @@ -16,6 +16,8 @@ package android.os; +import android.annotation.SdkConstant; +import android.annotation.SdkConstant.SdkConstantType; import android.content.Context; import android.util.Log; @@ -67,6 +69,7 @@ public class DropBoxManager { *
This is a protected intent that can only be sent * by the system. */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_DROPBOX_ENTRY_ADDED = "android.intent.action.DROPBOX_ENTRY_ADDED"; diff --git a/core/java/android/provider/Contacts.java b/core/java/android/provider/Contacts.java index b31b2950f5970..42d5ce168fa9b 100644 --- a/core/java/android/provider/Contacts.java +++ b/core/java/android/provider/Contacts.java @@ -18,6 +18,8 @@ package android.provider; import com.android.internal.R; +import android.annotation.SdkConstant; +import android.annotation.SdkConstant.SdkConstantType; import android.content.ContentResolver; import android.content.ContentUris; import android.content.ContentValues; @@ -2164,6 +2166,7 @@ public class Contacts { * @deprecated Do not use. This is not supported. */ @Deprecated + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String FILTER_CONTACTS_ACTION = "com.android.contacts.action.FILTER_CONTACTS"; diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index b4f19d897b596..5408e1319e365 100644 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -17,6 +17,8 @@ package android.provider; import android.accounts.Account; +import android.annotation.SdkConstant; +import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.app.Activity; import android.content.BroadcastReceiver; @@ -8401,6 +8403,7 @@ public final class ContactsContract { * Action used to launch the system contacts application and bring up a QuickContact dialog * for the provided {@link Contacts} entry. */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_QUICK_CONTACT = "android.provider.action.QUICK_CONTACT"; @@ -8924,6 +8927,7 @@ public final class ContactsContract { * @see #METADATA_ACCOUNT_TYPE * @see #METADATA_MIMETYPE */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS = "android.provider.action.VOICE_SEND_MESSAGE_TO_CONTACTS"; diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java index 93adf83cbea98..13e1e26b51c33 100644 --- a/core/java/android/provider/MediaStore.java +++ b/core/java/android/provider/MediaStore.java @@ -1498,6 +1498,7 @@ public final class MediaStore { * May also contain the extra EXTRA_MAX_BYTES. * @see #EXTRA_MAX_BYTES */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String RECORD_SOUND_ACTION = "android.provider.MediaStore.RECORD_SOUND"; diff --git a/keystore/java/android/security/KeyChain.java b/keystore/java/android/security/KeyChain.java index 5c64566f79870..ea804d0abea3b 100644 --- a/keystore/java/android/security/KeyChain.java +++ b/keystore/java/android/security/KeyChain.java @@ -17,7 +17,9 @@ package android.security; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.SdkConstant; import android.annotation.WorkerThread; +import android.annotation.SdkConstant.SdkConstantType; import android.app.Activity; import android.app.PendingIntent; import android.app.Service; @@ -199,12 +201,14 @@ public final class KeyChain { * {@link Build.VERSION_CODES#N_MR1} will only receive this broadcast if they register for it * at runtime. */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_STORAGE_CHANGED = "android.security.STORAGE_CHANGED"; /** * Broadcast Action: Indicates the contents of the keychain has changed. Sent when a KeyChain * entry is added, modified or removed. */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_KEYCHAIN_CHANGED = "android.security.action.KEYCHAIN_CHANGED"; /** @@ -216,6 +220,7 @@ public final class KeyChain { *
AndroidManifest.xml.
*
*/
+ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
public static final String ACTION_INITIALIZE_PROGRAMS =
"android.media.tv.action.INITIALIZE_PROGRAMS";
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 8ee6454ebd662..ee78757bb0a7c 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -322,9 +322,6 @@ public class TelephonyManager {
* a String.
*
* - * Requires the READ_PHONE_STATE permission. - * - *
* This was a {@link android.content.Context#sendStickyBroadcast sticky} * broadcast in version 1.0, but it is no longer sticky. * Instead, use {@link #getCallState} to synchronously query the current call state. @@ -334,6 +331,7 @@ public class TelephonyManager { * @see #getCallState */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE"; @@ -906,10 +904,8 @@ public class TelephonyManager { * Returns the software version number for the device, for example, * the IMEI/SV for GSM phones. Return null if the software version is * not available. - * - *
Requires Permission: - * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion() { return getDeviceSoftwareVersion(getSlotIndex()); } @@ -919,12 +915,10 @@ public class TelephonyManager { * the IMEI/SV for GSM phones. Return null if the software version is * not available. * - *
Requires Permission: - * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} - * * @param slotIndex of which deviceID is returned */ /** {@hide} */ + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int slotIndex) { ITelephony telephony = getITelephony(); if (telephony == null) return null; @@ -942,13 +936,11 @@ public class TelephonyManager { * Returns the unique device ID, for example, the IMEI for GSM and the MEID * or ESN for CDMA phones. Return null if device ID is not available. * - *
Requires Permission: - * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} - * * @deprecated Use (@link getImei} which returns IMEI for GSM or (@link getMeid} which returns * MEID for CDMA. */ @Deprecated + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceId() { try { ITelephony telephony = getITelephony(); @@ -966,15 +958,13 @@ public class TelephonyManager { * Returns the unique device ID of a subscription, for example, the IMEI for * GSM and the MEID for CDMA phones. Return null if device ID is not available. * - *
Requires Permission: - * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} - * * @param slotIndex of which deviceID is returned * * @deprecated Use (@link getImei} which returns IMEI for GSM or (@link getMeid} which returns * MEID for CDMA. */ @Deprecated + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceId(int slotIndex) { // FIXME this assumes phoneId == slotIndex try { @@ -992,10 +982,8 @@ public class TelephonyManager { /** * Returns the IMEI (International Mobile Equipment Identity). Return null if IMEI is not * available. - * - *
Requires Permission: - * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getImei() { return getImei(getSlotIndex()); } @@ -1004,11 +992,9 @@ public class TelephonyManager { * Returns the IMEI (International Mobile Equipment Identity). Return null if IMEI is not * available. * - *
Requires Permission: - * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} - * * @param slotIndex of which IMEI is returned */ + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getImei(int slotIndex) { ITelephony telephony = getITelephony(); if (telephony == null) return null; @@ -1024,10 +1010,8 @@ public class TelephonyManager { /** * Returns the MEID (Mobile Equipment Identifier). Return null if MEID is not available. - * - *
Requires Permission: - * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getMeid() { return getMeid(getSlotIndex()); } @@ -1035,11 +1019,9 @@ public class TelephonyManager { /** * Returns the MEID (Mobile Equipment Identifier). Return null if MEID is not available. * - *
Requires Permission: - * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} - * * @param slotIndex of which MEID is returned */ + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getMeid(int slotIndex) { ITelephony telephony = getITelephony(); if (telephony == null) return null; @@ -1095,13 +1077,13 @@ public class TelephonyManager { *
* @return Current location of the device or null if not available. * - *
Requires Permission: - * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION ACCESS_COARSE_LOCATION} or - * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION}. - * * @deprecated use {@link #getAllCellInfo} instead, which returns a superset of this API. */ @Deprecated + @RequiresPermission(anyOf = { + android.Manifest.permission.ACCESS_COARSE_LOCATION, + android.Manifest.permission.ACCESS_FINE_LOCATION + }) public CellLocation getCellLocation() { try { ITelephony telephony = getITelephony(); @@ -1133,11 +1115,9 @@ public class TelephonyManager { * Enables location update notifications. {@link PhoneStateListener#onCellLocationChanged * PhoneStateListener.onCellLocationChanged} will be called on location updates. * - *
Requires Permission: {@link android.Manifest.permission#CONTROL_LOCATION_UPDATES - * CONTROL_LOCATION_UPDATES} - * * @hide */ + @RequiresPermission(android.Manifest.permission.CONTROL_LOCATION_UPDATES) public void enableLocationUpdates() { enableLocationUpdates(getSubId()); } @@ -1147,12 +1127,10 @@ public class TelephonyManager { * {@link PhoneStateListener#onCellLocationChanged * PhoneStateListener.onCellLocationChanged} will be called on location updates. * - *
Requires Permission: {@link android.Manifest.permission#CONTROL_LOCATION_UPDATES - * CONTROL_LOCATION_UPDATES} - * * @param subId for which the location updates are enabled * @hide */ + @RequiresPermission(android.Manifest.permission.CONTROL_LOCATION_UPDATES) public void enableLocationUpdates(int subId) { try { ITelephony telephony = getITelephony(); @@ -1167,11 +1145,9 @@ public class TelephonyManager { * Disables location update notifications. {@link PhoneStateListener#onCellLocationChanged * PhoneStateListener.onCellLocationChanged} will be called on location updates. * - *
Requires Permission: {@link android.Manifest.permission#CONTROL_LOCATION_UPDATES - * CONTROL_LOCATION_UPDATES} - * * @hide */ + @RequiresPermission(android.Manifest.permission.CONTROL_LOCATION_UPDATES) public void disableLocationUpdates() { disableLocationUpdates(getSubId()); } @@ -1190,15 +1166,13 @@ public class TelephonyManager { /** * Returns the neighboring cell information of the device. * - *
Requires Permission:
- * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION}
- *
* @return List of NeighboringCellInfo or null if info unavailable.
*
* @deprecated Use {@link #getAllCellInfo} which returns a superset of the information
* from NeighboringCellInfo.
*/
@Deprecated
+ @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION)
public List Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE
- * READ_PHONE_STATE}
- *
* @see CarrierConfigManager#getConfigForSubId(int)
* @see #createForSubscriptionId(int)
* @see #createForPhoneAccountHandle(PhoneAccountHandle)
*/
@WorkerThread
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public PersistableBundle getCarrierConfig() {
CarrierConfigManager carrierConfigManager = mContext
.getSystemService(CarrierConfigManager.class);
@@ -1721,11 +1693,9 @@ public class TelephonyManager {
* @see #NETWORK_TYPE_EHRPD
* @see #NETWORK_TYPE_HSPAP
*
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getNetworkType(int subId) {
try {
ITelephony telephony = getITelephony();
@@ -1751,10 +1721,6 @@ public class TelephonyManager {
* If this object has been created with {@link #createForSubscriptionId}, applies to the given
* subId. Otherwise, applies to {@link SubscriptionManager#getDefaultDataSubscriptionId()}
*
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
- *
* @return the network type
*
* @see #NETWORK_TYPE_UNKNOWN
@@ -1774,6 +1740,7 @@ public class TelephonyManager {
* @see #NETWORK_TYPE_EHRPD
* @see #NETWORK_TYPE_HSPAP
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getDataNetworkType() {
return getDataNetworkType(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()));
}
@@ -1784,12 +1751,9 @@ public class TelephonyManager {
* @return the network type
*
* @param subId for which network type is returned
- *
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getDataNetworkType(int subId) {
try{
ITelephony telephony = getITelephony();
@@ -1810,23 +1774,17 @@ public class TelephonyManager {
/**
* Returns the NETWORK_TYPE_xxxx for voice
- *
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getVoiceNetworkType() {
return getVoiceNetworkType(getSubId());
}
/**
* Returns the NETWORK_TYPE_xxxx for voice for a subId
- *
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getVoiceNetworkType(int subId) {
try{
ITelephony telephony = getITelephony();
@@ -2228,10 +2186,8 @@ public class TelephonyManager {
/**
* Returns the serial number of the SIM, if applicable. Return null if it is
* unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getSimSerialNumber() {
return getSimSerialNumber(getSubId());
}
@@ -2241,10 +2197,9 @@ public class TelephonyManager {
* unavailable.
*
* @param subId for which Sim Serial number is returned
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getSimSerialNumber(int subId) {
try {
IPhoneSubInfo info = getSubscriberInfo();
@@ -2267,12 +2222,9 @@ public class TelephonyManager {
* @return {@link PhoneConstants#LTE_ON_CDMA_UNKNOWN}, {@link PhoneConstants#LTE_ON_CDMA_FALSE}
* or {@link PhoneConstants#LTE_ON_CDMA_TRUE}
*
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
- *
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getLteOnCdmaMode() {
return getLteOnCdmaMode(getSubId());
}
@@ -2285,12 +2237,9 @@ public class TelephonyManager {
* @param subId for which radio is LTE on CDMA is returned
* @return {@link PhoneConstants#LTE_ON_CDMA_UNKNOWN}, {@link PhoneConstants#LTE_ON_CDMA_FALSE}
* or {@link PhoneConstants#LTE_ON_CDMA_TRUE}
- *
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getLteOnCdmaMode(int subId) {
try {
ITelephony telephony = getITelephony();
@@ -2315,10 +2264,8 @@ public class TelephonyManager {
/**
* Returns the unique subscriber ID, for example, the IMSI for a GSM phone.
* Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getSubscriberId() {
return getSubscriberId(getSubId());
}
@@ -2327,13 +2274,11 @@ public class TelephonyManager {
* Returns the unique subscriber ID, for example, the IMSI for a GSM phone
* for a subscription.
* Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*
* @param subId whose subscriber id is returned
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getSubscriberId(int subId) {
try {
IPhoneSubInfo info = getSubscriberInfo();
@@ -2351,10 +2296,8 @@ public class TelephonyManager {
/**
* Returns the Group Identifier Level1 for a GSM phone.
* Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getGroupIdLevel1() {
try {
IPhoneSubInfo info = getSubscriberInfo();
@@ -2372,13 +2315,11 @@ public class TelephonyManager {
/**
* Returns the Group Identifier Level1 for a GSM phone for a particular subscription.
* Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*
* @param subId whose subscriber id is returned
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getGroupIdLevel1(int subId) {
try {
IPhoneSubInfo info = getSubscriberInfo();
@@ -2397,15 +2338,13 @@ public class TelephonyManager {
* Returns the phone number string for line 1, for example, the MSISDN
* for a GSM phone. Return null if it is unavailable.
*
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
- * OR
- * {@link android.Manifest.permission#READ_SMS}
- * OR
- * {@link android.Manifest.permission#READ_PHONE_NUMBERS}
- *
* The default SMS app can also use this.
*/
+ @RequiresPermission(anyOf = {
+ android.Manifest.permission.READ_PHONE_STATE,
+ android.Manifest.permission.READ_SMS,
+ android.Manifest.permission.READ_PHONE_NUMBERS
+ })
public String getLine1Number() {
return getLine1Number(getSubId());
}
@@ -2414,18 +2353,16 @@ public class TelephonyManager {
* Returns the phone number string for line 1, for example, the MSISDN
* for a GSM phone for a particular subscription. Return null if it is unavailable.
*
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
- * OR
- * {@link android.Manifest.permission#READ_SMS}
- * OR
- * {@link android.Manifest.permission#READ_PHONE_NUMBERS}
- *
* The default SMS app can also use this.
*
* @param subId whose phone number for line 1 is returned
* @hide
*/
+ @RequiresPermission(anyOf = {
+ android.Manifest.permission.READ_PHONE_STATE,
+ android.Manifest.permission.READ_SMS,
+ android.Manifest.permission.READ_PHONE_NUMBERS
+ })
public String getLine1Number(int subId) {
String number = null;
try {
@@ -2497,12 +2434,10 @@ public class TelephonyManager {
/**
* Returns the alphabetic identifier associated with the line 1 number.
* Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
* nobody seems to call this.
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getLine1AlphaTag() {
return getLine1AlphaTag(getSubId());
}
@@ -2511,13 +2446,11 @@ public class TelephonyManager {
* Returns the alphabetic identifier associated with the line 1 number
* for a subscription.
* Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @param subId whose alphabetic identifier associated with line 1 is returned
* nobody seems to call this.
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getLine1AlphaTag(int subId) {
String alphaTag = null;
try {
@@ -2566,12 +2499,10 @@ public class TelephonyManager {
/**
* Returns the MSISDN string.
* for a GSM phone. Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getMsisdn() {
return getMsisdn(getSubId());
}
@@ -2579,13 +2510,11 @@ public class TelephonyManager {
/**
* Returns the MSISDN string.
* for a GSM phone. Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*
* @param subId for which msisdn is returned
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getMsisdn(int subId) {
try {
IPhoneSubInfo info = getSubscriberInfo();
@@ -2602,10 +2531,8 @@ public class TelephonyManager {
/**
* Returns the voice mail number. Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getVoiceMailNumber() {
return getVoiceMailNumber(getSubId());
}
@@ -2613,12 +2540,10 @@ public class TelephonyManager {
/**
* Returns the voice mail number for a subscription.
* Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @param subId whose voice mail number is returned
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getVoiceMailNumber(int subId) {
try {
IPhoneSubInfo info = getSubscriberInfo();
@@ -2635,25 +2560,21 @@ public class TelephonyManager {
/**
* Returns the complete voice mail number. Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#CALL_PRIVILEGED CALL_PRIVILEGED}
*
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.CALL_PRIVILEGED)
public String getCompleteVoiceMailNumber() {
return getCompleteVoiceMailNumber(getSubId());
}
/**
* Returns the complete voice mail number. Return null if it is unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#CALL_PRIVILEGED CALL_PRIVILEGED}
*
* @param subId
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.CALL_PRIVILEGED)
public String getCompleteVoiceMailNumber(int subId) {
try {
IPhoneSubInfo info = getSubscriberInfo();
@@ -2724,9 +2645,6 @@ public class TelephonyManager {
/**
* Returns whether the visual voicemail client is enabled.
*
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
- *
* @param phoneAccountHandle the phone account to check for.
* @return {@code true} when the visual voicemail client is enabled for this client
* @hide
@@ -2734,6 +2652,7 @@ public class TelephonyManager {
* be implemented instead.
*/
@SystemApi
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public boolean isVisualVoicemailEnabled(PhoneAccountHandle phoneAccountHandle){
return false;
}
@@ -2744,14 +2663,12 @@ public class TelephonyManager {
* to the TelephonyManager. Returns {@code null} when there is no package responsible for
* processing visual voicemail for the subscription.
*
- * Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE
- * READ_PHONE_STATE}
- *
* @see #createForSubscriptionId(int)
* @see #createForPhoneAccountHandle(PhoneAccountHandle)
* @see VisualVoicemailService
*/
@Nullable
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getVisualVoicemailPackageName() {
try {
ITelephony telephony = getITelephony();
@@ -2863,9 +2780,6 @@ public class TelephonyManager {
/**
* Send a visual voicemail SMS. The IPC caller must be the current default dialer.
*
- * Requires Permission:
- * {@link android.Manifest.permission#SEND_SMS SEND_SMS}
- *
* @param phoneAccountHandle The account to send the SMS with.
* @param number The destination number.
* @param port The destination port for data SMS, or 0 for text SMS.
@@ -2877,6 +2791,7 @@ public class TelephonyManager {
*
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.SEND_SMS)
public void sendVisualVoicemailSmsForSubscriber(int subId, String number, int port,
String text, PendingIntent sentIntent) {
try {
@@ -2981,9 +2896,6 @@ public class TelephonyManager {
/**
* Returns the voice activation state for the given subscriber.
*
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE}
- *
* @param subId The subscription id.
*
* @return voiceActivationState for the given subscriber
@@ -2993,6 +2905,7 @@ public class TelephonyManager {
* @see #SIM_ACTIVATION_STATE_DEACTIVATED
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getVoiceActivationState(int subId) {
try {
ITelephony telephony = getITelephony();
@@ -3007,9 +2920,6 @@ public class TelephonyManager {
/**
* Returns the data activation state for the given subscriber.
*
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE}
- *
* @param subId The subscription id.
*
* @return dataActivationState for the given subscriber
@@ -3020,6 +2930,7 @@ public class TelephonyManager {
* @see #SIM_ACTIVATION_STATE_RESTRICTED
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getDataActivationState(int subId) {
try {
ITelephony telephony = getITelephony();
@@ -3034,23 +2945,19 @@ public class TelephonyManager {
/**
* Returns the voice mail count. Return 0 if unavailable, -1 if there are unread voice messages
* but the count is unknown.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getVoiceMessageCount() {
return getVoiceMessageCount(getSubId());
}
/**
* Returns the voice mail count for a subscription. Return 0 if unavailable.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @param subId whose voice message count is returned
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getVoiceMessageCount(int subId) {
try {
ITelephony telephony = getITelephony();
@@ -3068,10 +2975,8 @@ public class TelephonyManager {
/**
* Retrieves the alphabetic identifier associated with the voice
* mail number.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getVoiceMailAlphaTag() {
return getVoiceMailAlphaTag(getSubId());
}
@@ -3079,13 +2984,11 @@ public class TelephonyManager {
/**
* Retrieves the alphabetic identifier associated with the voice
* mail number for a subscription.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @param subId whose alphabetic identifier associated with the
* voice mail number is returned
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getVoiceMailAlphaTag(int subId) {
try {
IPhoneSubInfo info = getSubscriberInfo();
@@ -3396,23 +3299,18 @@ public class TelephonyManager {
/**
* Returns the CDMA ERI icon index to display
- *
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getCdmaEriIconIndex() {
return getCdmaEriIconIndex(getSubId());
}
/**
* Returns the CDMA ERI icon index to display for a subscription
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getCdmaEriIconIndex(int subId) {
try {
ITelephony telephony = getITelephony();
@@ -3432,11 +3330,9 @@ public class TelephonyManager {
* 0 - ON
* 1 - FLASHING
*
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getCdmaEriIconMode() {
return getCdmaEriIconMode(getSubId());
}
@@ -3446,11 +3342,9 @@ public class TelephonyManager {
* 0 - ON
* 1 - FLASHING
*
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getCdmaEriIconMode(int subId) {
try {
ITelephony telephony = getITelephony();
@@ -3468,11 +3362,9 @@ public class TelephonyManager {
/**
* Returns the CDMA ERI text,
*
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getCdmaEriText() {
return getCdmaEriText(getSubId());
}
@@ -3480,11 +3372,9 @@ public class TelephonyManager {
/**
* Returns the CDMA ERI text, of a subscription
*
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String getCdmaEriText(int subId) {
try {
ITelephony telephony = getITelephony();
@@ -3567,13 +3457,10 @@ public class TelephonyManager {
* android.telephony.TelephonyManager#getCellLocation getCellLocation()}
* instead.
*
- * Requires permission:
- * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION}
- *
* @return List of {@link android.telephony.CellInfo}; null if cell
* information is unavailable.
- *
*/
+ @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION)
public List Requires that the caller has READ_PHONE_STATE
- *
* @return an array of forbidden PLMNs or null if not available
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String[] getForbiddenPlmns() {
return getForbiddenPlmns(getSubId(), APPTYPE_USIM);
}
@@ -4440,14 +4325,12 @@ public class TelephonyManager {
* Returns an array of Forbidden PLMNs from the specified SIM App
* Returns null if the query fails.
*
- *
- * Requires that the calling app has READ_PHONE_STATE
- *
* @param subId subscription ID used for authentication
* @param appType the icc application type, like {@link #APPTYPE_USIM}
* @return fplmns an array of forbidden PLMNs
* @hide
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public String[] getForbiddenPlmns(int subId, int appType) {
try {
ITelephony telephony = getITelephony();
@@ -6123,10 +6006,8 @@ public class TelephonyManager {
/**
* Returns the current {@link ServiceState} information.
- *
- * Requires Permission:
- * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public ServiceState getServiceState() {
return getServiceStateForSubscriber(getSubId());
}