diff options
author | Shishir Agrawal <shishir@google.com> | 2014-11-09 16:16:06 -0800 |
---|---|---|
committer | Shishir Agrawal <shishir@google.com> | 2014-11-12 09:38:18 -0800 |
commit | 5c1a63c2235c36ce0b520fa88a9d21ffe255756e (patch) | |
tree | 60a4b01ce24e19bb7e78f4f552bc0d001becb27e | |
parent | 89444a380d85f8961a4a900734590571375b4f3f (diff) | |
download | frameworks_base-5c1a63c2235c36ce0b520fa88a9d21ffe255756e.zip frameworks_base-5c1a63c2235c36ce0b520fa88a9d21ffe255756e.tar.gz frameworks_base-5c1a63c2235c36ce0b520fa88a9d21ffe255756e.tar.bz2 |
Add new API to set voicemail number.
The API is protected by system or carrier privilege.
Bug: 17393589
Change-Id: I33f4a00b30e0f5d72e5d53553a187d974872eab6
-rw-r--r-- | api/current.txt | 1 | ||||
-rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 35 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/ITelephony.aidl | 5 |
3 files changed, 41 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index 1a882ac..c95ab40 100644 --- a/api/current.txt +++ b/api/current.txt @@ -28616,6 +28616,7 @@ package android.telephony { method public boolean setGlobalPreferredNetworkType(); method public void setLine1NumberForDisplay(java.lang.String, java.lang.String); method public boolean setOperatorBrandOverride(java.lang.String); + method public boolean setVoiceMailNumber(java.lang.String, java.lang.String); field public static final java.lang.String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE"; field public static final java.lang.String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE"; field public static final int CALL_STATE_IDLE = 0; // 0x0 diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index b06d44c..f2d859f 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1973,6 +1973,41 @@ public class TelephonyManager { } /** + * Sets the voice mail number. + * <p> + * Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} + * Or the calling app has carrier privileges. @see #hasCarrierPrivileges + * + * @param alphaTag The alpha tag to display. + * @param number The voicemail number. + */ + public boolean setVoiceMailNumber(String alphaTag, String number) { + return setVoiceMailNumber(getDefaultSubscription(), alphaTag, number); + } + + /** + * Sets the voicemail number for the given subscriber. + * <p> + * Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} + * Or the calling app has carrier privileges. @see #hasCarrierPrivileges + * + * @param subId The subscriber id. + * @param alphaTag The alpha tag to display. + * @param number The voicemail number. + */ + /** {@hide} */ + public boolean setVoiceMailNumber(int subId, String alphaTag, String number) { + try { + return getITelephony().setVoiceMailNumber(subId, alphaTag, number); + } catch (RemoteException ex) { + } catch (NullPointerException ex) { + } + return false; + } + + /** * Returns the voice mail count. Return 0 if unavailable. * <p> * Requires Permission: diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index c50261d..cbfa9f6 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -417,6 +417,11 @@ interface ITelephony { boolean needsOtaServiceProvisioning(); /** + * Sets the voicemail number for a particular subscriber. + */ + boolean setVoiceMailNumber(int subId, String alphaTag, String number); + + /** * Returns the unread count of voicemails */ int getVoiceMessageCount(); |