diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index 2a3d7ab835c48..662172662fdf1 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -731,6 +731,26 @@ public class TelecomManager { return false; } + /** + * Return whether a given phone account has a voicemail number configured. + * + * @param accountHandle The handle for the account to check for a voicemail number. + * @return {@code true} If the given phone account has a voicemail number. + * + * @hide + */ + @SystemApi + public boolean hasVoiceMailNumber(PhoneAccountHandle accountHandle) { + try { + if (isServiceConnected()) { + return getTelecomService().hasVoiceMailNumber(accountHandle); + } + } 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). diff --git a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl index cbd9d69eaa5b6..f8d753943138e 100644 --- a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl +++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl @@ -120,6 +120,11 @@ interface ITelecomService { */ boolean isVoiceMailNumber(in PhoneAccountHandle accountHandle, String number); + /** + * @see TelecomServiceImpl#hasVoiceMailNumber + */ + boolean hasVoiceMailNumber(in PhoneAccountHandle accountHandle); + /** * @see TelecomServiceImpl#getDefaultPhoneApp */