From 5c30cc752b78b806ae967da790b382091c48ce92 Mon Sep 17 00:00:00 2001 From: Rambo Wang Date: Tue, 2 Nov 2021 07:50:39 -0700 Subject: [PATCH] Update javadoc of TelephonyManager#isModemEnabledForSlot The API has always been accessible for calling app with carrier privilege in implementation. This should be specified explicitly in javadoc to clarify the behavior. The @RequrePermission annotation is also updated to include both permissions to match the fact. Bug: 201331955 Test: m offline-sdk-docs Change-Id: I231a0907895846bef8a97856c77587ad68a98fb0 --- core/api/current.txt | 2 +- .../java/android/telephony/TelephonyManager.java | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 1c0144546239f..261e14fb89c4c 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -42738,7 +42738,7 @@ package android.telephony { method public boolean isEmergencyNumber(@NonNull String); method public boolean isHearingAidCompatibilitySupported(); method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isManualNetworkSelectionAllowed(); - method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isModemEnabledForSlot(int); + method @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isModemEnabledForSlot(int); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int isMultiSimSupported(); method public boolean isNetworkRoaming(); method public boolean isRadioInterfaceCapabilitySupported(@NonNull String); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index a1bed29dec702..7bd70463ffbd4 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -13547,15 +13547,18 @@ public class TelephonyManager { } /** - * It indicates whether modem is enabled or not per slot. - * It's the corresponding status of TelephonyManager.enableModemForSlot. + * Indicates whether or not there is a modem stack enabled for the given SIM slot. * *

Requires Permission: - * READ_PRIVILEGED_PHONE_STATE or - * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}, + * READ_PRIVILEGED_PHONE_STATE or that the calling app has carrier privileges (see + * {@link #hasCarrierPrivileges()}). + * * @param slotIndex which slot it's checking. */ - @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) + @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges + @RequiresPermission(anyOf = {android.Manifest.permission.READ_PHONE_STATE, + android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE}) public boolean isModemEnabledForSlot(int slotIndex) { try { ITelephony telephony = getITelephony();