Use TelecomManager to call TelephonyManager#getVoicemailNumber (1/2)
Since we don't want the phone app to call TelephonyManager methods
directly, create a method in TelecomManager to mimic the behavior. The
reason we don't return the voicemail number directly is because once
TelecomManager becomes public, we don't want any old app to be able to
get the SIM's voicemail number.
Bug: 18233678
Change-Id: I620af409788aea7b58169b72a563baeed8115080
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index 2a3d7ab8..6621726 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -732,6 +732,26 @@
}
/**
+ * 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).
* <p>