diff --git a/api/current.txt b/api/current.txt index 16cfff2d84b86..ffd21b2902fa2 100644 --- a/api/current.txt +++ b/api/current.txt @@ -38683,6 +38683,7 @@ package android.telephony { field public static final int DATA_DISCONNECTED = 0; // 0x0 field public static final int DATA_SUSPENDED = 3; // 0x3 field public static final java.lang.String EXTRA_CALL_VOICEMAIL_INTENT = "android.telephony.extra.CALL_VOICEMAIL_INTENT"; + field public static final java.lang.String EXTRA_HIDE_PUBLIC_SETTINGS = "android.telephony.extra.HIDE_PUBLIC_SETTINGS"; field public static final java.lang.String EXTRA_INCOMING_NUMBER = "incoming_number"; field public static final java.lang.String EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT = "android.telephony.extra.LAUNCH_VOICEMAIL_SETTINGS_INTENT"; field public static final java.lang.String EXTRA_NOTIFICATION_COUNT = "android.telephony.extra.NOTIFICATION_COUNT"; @@ -38691,6 +38692,7 @@ package android.telephony { field public static final java.lang.String EXTRA_STATE_OFFHOOK; field public static final java.lang.String EXTRA_STATE_RINGING; field public static final java.lang.String EXTRA_VOICEMAIL_NUMBER = "android.telephony.extra.VOICEMAIL_NUMBER"; + field public static final java.lang.String METADATA_HIDE_VOICEMAIL_SETTINGS_MENU = "android.telephony.HIDE_VOICEMAIL_SETTINGS_MENU"; field public static final int NETWORK_TYPE_1xRTT = 7; // 0x7 field public static final int NETWORK_TYPE_CDMA = 4; // 0x4 field public static final int NETWORK_TYPE_EDGE = 2; // 0x2 diff --git a/api/system-current.txt b/api/system-current.txt index 066f9ce6366ed..8cea65245c255 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -42029,6 +42029,7 @@ package android.telephony { field public static final int DATA_DISCONNECTED = 0; // 0x0 field public static final int DATA_SUSPENDED = 3; // 0x3 field public static final java.lang.String EXTRA_CALL_VOICEMAIL_INTENT = "android.telephony.extra.CALL_VOICEMAIL_INTENT"; + field public static final java.lang.String EXTRA_HIDE_PUBLIC_SETTINGS = "android.telephony.extra.HIDE_PUBLIC_SETTINGS"; field public static final java.lang.String EXTRA_INCOMING_NUMBER = "incoming_number"; field public static final java.lang.String EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT = "android.telephony.extra.LAUNCH_VOICEMAIL_SETTINGS_INTENT"; field public static final java.lang.String EXTRA_NOTIFICATION_COUNT = "android.telephony.extra.NOTIFICATION_COUNT"; @@ -42037,6 +42038,7 @@ package android.telephony { field public static final java.lang.String EXTRA_STATE_OFFHOOK; field public static final java.lang.String EXTRA_STATE_RINGING; field public static final java.lang.String EXTRA_VOICEMAIL_NUMBER = "android.telephony.extra.VOICEMAIL_NUMBER"; + field public static final java.lang.String METADATA_HIDE_VOICEMAIL_SETTINGS_MENU = "android.telephony.HIDE_VOICEMAIL_SETTINGS_MENU"; field public static final int NETWORK_TYPE_1xRTT = 7; // 0x7 field public static final int NETWORK_TYPE_CDMA = 4; // 0x4 field public static final int NETWORK_TYPE_EDGE = 2; // 0x2 diff --git a/api/test-current.txt b/api/test-current.txt index f0c628ceadac0..7fb9896f2255e 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -38804,6 +38804,7 @@ package android.telephony { field public static final int DATA_DISCONNECTED = 0; // 0x0 field public static final int DATA_SUSPENDED = 3; // 0x3 field public static final java.lang.String EXTRA_CALL_VOICEMAIL_INTENT = "android.telephony.extra.CALL_VOICEMAIL_INTENT"; + field public static final java.lang.String EXTRA_HIDE_PUBLIC_SETTINGS = "android.telephony.extra.HIDE_PUBLIC_SETTINGS"; field public static final java.lang.String EXTRA_INCOMING_NUMBER = "incoming_number"; field public static final java.lang.String EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT = "android.telephony.extra.LAUNCH_VOICEMAIL_SETTINGS_INTENT"; field public static final java.lang.String EXTRA_NOTIFICATION_COUNT = "android.telephony.extra.NOTIFICATION_COUNT"; @@ -38812,6 +38813,7 @@ package android.telephony { field public static final java.lang.String EXTRA_STATE_OFFHOOK; field public static final java.lang.String EXTRA_STATE_RINGING; field public static final java.lang.String EXTRA_VOICEMAIL_NUMBER = "android.telephony.extra.VOICEMAIL_NUMBER"; + field public static final java.lang.String METADATA_HIDE_VOICEMAIL_SETTINGS_MENU = "android.telephony.HIDE_VOICEMAIL_SETTINGS_MENU"; field public static final int NETWORK_TYPE_1xRTT = 7; // 0x7 field public static final int NETWORK_TYPE_CDMA = 4; // 0x4 field public static final int NETWORK_TYPE_EDGE = 2; // 0x2 diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index b28627bf3f74b..33e9b1653cdcb 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -372,13 +372,46 @@ public class TelephonyManager { public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE"; + /** + * A boolean meta-data value indicating whether the voicemail settings should be hidden in the + * call settings page launched by + * {@link android.telecom.TelecomManager#ACTION_SHOW_CALL_SETTINGS}. + * Dialer implementations (see {@link android.telecom.TelecomManager#getDefaultDialerPackage()}) + * which would also like to manage voicemail settings should set this meta-data to {@code true} + * in the manifest registration of their application. + * + * @see android.telecom.TelecomManager#ACTION_SHOW_CALL_SETTINGS + * @see #ACTION_CONFIGURE_VOICEMAIL + * @see #EXTRA_HIDE_PUBLIC_SETTINGS + */ + public static final String METADATA_HIDE_VOICEMAIL_SETTINGS_MENU = + "android.telephony.HIDE_VOICEMAIL_SETTINGS_MENU"; + /** * Open the voicemail settings activity to make changes to voicemail configuration. + * + *
+ * The {@link #EXTRA_HIDE_PUBLIC_SETTINGS} hides settings the dialer will modify through public + * API if set. + * + * @see #EXTRA_HIDE_PUBLIC_SETTINGS */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_CONFIGURE_VOICEMAIL = "android.telephony.action.CONFIGURE_VOICEMAIL"; + /** + * The boolean value indicating whether the voicemail settings activity launched by {@link + * #ACTION_CONFIGURE_VOICEMAIL} should hide settings accessible through public API. This is + * used by dialer implementations which provides their own voicemail settings UI, but still + * needs to expose device specific voicemail settings to the user. + * + * @see #ACTION_CONFIGURE_VOICEMAIL + * @see #METADATA_HIDE_VOICEMAIL_SETTINGS_MENU + */ + public static final String EXTRA_HIDE_PUBLIC_SETTINGS = + "android.telephony.extra.HIDE_PUBLIC_SETTINGS"; + /** * @hide */