From b90f5c9dc60c91a0c665fd714484f560078bcd09 Mon Sep 17 00:00:00 2001 From: Thomas Stuart Date: Sat, 15 Jan 2022 00:22:59 +0000 Subject: TelecomManager#getSelfManagedPA comments update (3/3) bug: 209839019 Test: CTS Change-Id: I152e0ee7bd749598a1822f34566b66a50df04863 --- telecomm/java/android/telecom/TelecomManager.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'telecomm/java/android') diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index 6279bf88ab1c..ecb85957d6d9 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -1294,14 +1294,24 @@ public class TelecomManager { * {@link PhoneAccount#CAPABILITY_SELF_MANAGED}. *

* Requires permission {@link android.Manifest.permission#READ_PHONE_STATE}, or that the caller - * is the default dialer app. + * is the default dialer app to get all phone account handles. + *

+ * If the caller doesn't meet any of the above requirements and has {@link + * android.Manifest.permission#MANAGE_OWN_CALLS}, the caller can get only the phone account + * handles they have registered. *

- * A {@link SecurityException} will be thrown if a called is not the default dialer, or lacks - * the {@link android.Manifest.permission#READ_PHONE_STATE} permission. + * A {@link SecurityException} will be thrown if the caller is not the default dialer + * or the caller does not have at least one of the following permissions: + * {@link android.Manifest.permission#READ_PHONE_STATE} permission, + * {@link android.Manifest.permission#MANAGE_OWN_CALLS} permission * * @return A list of {@code PhoneAccountHandle} objects. */ - @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) + @RequiresPermission(anyOf = { + READ_PRIVILEGED_PHONE_STATE, + android.Manifest.permission.READ_PHONE_STATE, + android.Manifest.permission.MANAGE_OWN_CALLS + }) public List getSelfManagedPhoneAccounts() { ITelecomService service = getTelecomService(); if (service != null) { -- cgit v1.2.3-59-g8ed1b