diff options
author | Nancy Chen <nancychen@google.com> | 2014-10-15 15:48:21 -0700 |
---|---|---|
committer | Nancy Chen <nancychen@google.com> | 2014-10-16 14:48:09 -0700 |
commit | 443e501c46f57b4189c4ae943d989b24366ef9d8 (patch) | |
tree | d2d1715fa18eef1820286822ad3e03d25ffcb70f | |
parent | c913c2dec18519ae5b989f65b207c7b3fec2d0ef (diff) | |
download | frameworks_base-443e501c46f57b4189c4ae943d989b24366ef9d8.zip frameworks_base-443e501c46f57b4189c4ae943d989b24366ef9d8.tar.gz frameworks_base-443e501c46f57b4189c4ae943d989b24366ef9d8.tar.bz2 |
Use Telecom API for checking if a number is voicemail (1/2)
Since we don't want to communicate directly with Telephony in dialer, call
PhoneNumberUtils.isVoiceMailNumber (a Telephony method) through the
Telecom API. Add a method in TelecomManager to do this.
Bug: 17925501
Change-Id: Iecea82a0e5f0b106eaf105e9026d606110acf122
-rw-r--r-- | telecomm/java/android/telecom/TelecomManager.java | 21 | ||||
-rw-r--r-- | telecomm/java/com/android/internal/telecom/ITelecomService.aidl | 5 |
2 files changed, 26 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index f3358f8..e87615e 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -656,6 +656,27 @@ public class TelecomManager { } /** + * Return whether a given phone number is the configured voicemail number for a + * particular phone account. + * + * @param accountHandle The handle for the account to check the voicemail number against + * @param number The number to look up. + * + * @hide + */ + @SystemApi + public boolean isVoiceMailNumber(PhoneAccountHandle accountHandle, String number) { + try { + if (isServiceConnected()) { + return getTelecomService().isVoiceMailNumber(accountHandle, number); + } + } catch (RemoteException e) { + Log.e(TAG, "RemoteException calling isInCall().", e); + } + return false; + } + + /** * Returns whether there is an ongoing phone call (can be in dialing, ringing, active or holding * states). * <p> diff --git a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl index f1cf885..91f44b9 100644 --- a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl +++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl @@ -115,6 +115,11 @@ interface ITelecomService { void clearAccounts(String packageName); /** + * @see TelecomServiceImpl#isVoiceMailNumber + */ + boolean isVoiceMailNumber(in PhoneAccountHandle accountHandle, String number); + + /** * @see TelecomServiceImpl#getDefaultPhoneApp */ ComponentName getDefaultPhoneApp(); |