diff options
author | Grace Jia <xiaotonj@google.com> | 2021-04-21 14:13:26 -0700 |
---|---|---|
committer | Grace Jia <xiaotonj@google.com> | 2021-06-21 18:37:05 +0000 |
commit | 3ad3cb75aff52d878846302cb46fd51c63984362 (patch) | |
tree | 53e01c5c83fd2d558e03e7d4aa7ed315a5348d88 /telecomm/java/android/telecom/TelecomManager.java | |
parent | ccc5c7c345c0594781a9eac2c8cd14dd66498b2a (diff) |
Protect TelecomManager#getPhoneAccount with necessary permissions.
Bug: 183407956
Test: make, CTS test
Change-Id: I0ff68f29865c0bb2b316b3fc73d2c5adc37e4a36
(cherry picked from commit b13eb2c476fbb403646e48ded69fbc6b26f55606)
Diffstat (limited to 'telecomm/java/android/telecom/TelecomManager.java')
-rw-r--r-- | telecomm/java/android/telecom/TelecomManager.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index 1953af4adee5..e000265f0a2c 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -1018,6 +1018,16 @@ public class TelecomManager { // this magic number is a bug ID public static final long ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION = 157233955L; + /** + * Enable READ_PHONE_NUMBERS or READ_PRIVILEGED_PHONE_STATE protections on + * {@link TelecomManager#getPhoneAccount(PhoneAccountHandle)}. + * @hide + */ + @ChangeId + @EnabledSince(targetSdkVersion = Build.VERSION_CODES.S) + // bug ID + public static final long ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION = 183407956L; + private static final String TAG = "TelecomManager"; @@ -1351,6 +1361,9 @@ public class TelecomManager { * Return the {@link PhoneAccount} for a specified {@link PhoneAccountHandle}. Object includes * resources which can be used in a user interface. * + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_NUMBERS} for applications targeting API + * level 31+. * @param account The {@link PhoneAccountHandle}. * @return The {@link PhoneAccount} object. */ @@ -1358,7 +1371,7 @@ public class TelecomManager { ITelecomService service = getTelecomService(); if (service != null) { try { - return service.getPhoneAccount(account); + return service.getPhoneAccount(account, mContext.getPackageName()); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelecomService#getPhoneAccount", e); } |