diff options
-rw-r--r-- | api/current.txt | 5 | ||||
-rw-r--r-- | core/api/current.txt | 5 | ||||
-rw-r--r-- | telephony/java/android/telephony/CarrierConfigManager.java | 39 |
3 files changed, 49 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index b5cd13b254af..1a405d52c025 100644 --- a/api/current.txt +++ b/api/current.txt @@ -46695,6 +46695,7 @@ package android.telephony { field public static final String KEY_CARRIER_SETTINGS_ENABLE_BOOL = "carrier_settings_enable_bool"; field public static final String KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL = "carrier_supports_ss_over_ut_bool"; field public static final String KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL = "carrier_use_ims_first_for_emergency_bool"; + field public static final String KEY_CARRIER_USSD_METHOD_INT = "carrier_ussd_method_int"; field public static final String KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL = "carrier_ut_provisioning_required_bool"; field public static final String KEY_CARRIER_VOLTE_AVAILABLE_BOOL = "carrier_volte_available_bool"; field public static final String KEY_CARRIER_VOLTE_OVERRIDE_WFC_PROVISIONING_BOOL = "carrier_volte_override_wfc_provisioning_bool"; @@ -46889,6 +46890,10 @@ package android.telephony { field public static final String KEY_WORLD_PHONE_BOOL = "world_phone_bool"; field public static final int SERVICE_CLASS_NONE = 0; // 0x0 field public static final int SERVICE_CLASS_VOICE = 1; // 0x1 + field public static final int USSD_OVER_CS_ONLY = 2; // 0x2 + field public static final int USSD_OVER_CS_PREFERRED = 0; // 0x0 + field public static final int USSD_OVER_IMS_ONLY = 3; // 0x3 + field public static final int USSD_OVER_IMS_PREFERRED = 1; // 0x1 } public static final class CarrierConfigManager.Apn { diff --git a/core/api/current.txt b/core/api/current.txt index 61a14241e4df..35abacb4b451 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -44863,6 +44863,7 @@ package android.telephony { field public static final String KEY_CARRIER_SETTINGS_ENABLE_BOOL = "carrier_settings_enable_bool"; field public static final String KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL = "carrier_supports_ss_over_ut_bool"; field public static final String KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL = "carrier_use_ims_first_for_emergency_bool"; + field public static final String KEY_CARRIER_USSD_METHOD_INT = "carrier_ussd_method_int"; field public static final String KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL = "carrier_ut_provisioning_required_bool"; field public static final String KEY_CARRIER_VOLTE_AVAILABLE_BOOL = "carrier_volte_available_bool"; field public static final String KEY_CARRIER_VOLTE_OVERRIDE_WFC_PROVISIONING_BOOL = "carrier_volte_override_wfc_provisioning_bool"; @@ -45057,6 +45058,10 @@ package android.telephony { field public static final String KEY_WORLD_PHONE_BOOL = "world_phone_bool"; field public static final int SERVICE_CLASS_NONE = 0; // 0x0 field public static final int SERVICE_CLASS_VOICE = 1; // 0x1 + field public static final int USSD_OVER_CS_ONLY = 2; // 0x2 + field public static final int USSD_OVER_CS_PREFERRED = 0; // 0x0 + field public static final int USSD_OVER_IMS_ONLY = 3; // 0x3 + field public static final int USSD_OVER_IMS_PREFERRED = 1; // 0x1 } public static final class CarrierConfigManager.Apn { diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 0d557067f84e..2ffc14e4c4f0 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -79,6 +79,30 @@ public class CarrierConfigManager { */ public static final int SERVICE_CLASS_VOICE = ImsSsData.SERVICE_CLASS_VOICE; + /** + * Only send USSD over IMS while CS is out of service, otherwise send USSD over CS. + * {@link #KEY_CARRIER_USSD_METHOD_INT} + */ + public static final int USSD_OVER_CS_PREFERRED = 0; + + /** + * Send USSD over IMS or CS while IMS is out of service or silent redial over CS if needed. + * {@link #KEY_CARRIER_USSD_METHOD_INT} + */ + public static final int USSD_OVER_IMS_PREFERRED = 1; + + /** + * Only send USSD over CS. + * {@link #KEY_CARRIER_USSD_METHOD_INT} + */ + public static final int USSD_OVER_CS_ONLY = 2; + + /** + * Only send USSD over IMS and disallow silent redial over CS. + * {@link #KEY_CARRIER_USSD_METHOD_INT} + */ + public static final int USSD_OVER_IMS_ONLY = 3; + private final Context mContext; /** @@ -584,6 +608,20 @@ public class CarrierConfigManager { public static final String KEY_CARRIER_VT_AVAILABLE_BOOL = "carrier_vt_available_bool"; /** + * Specify the method of selection for UE sending USSD requests. The default value is + * {@link #USSD_OVER_CS_PREFERRED}. + * <p> Available options: + * <ul> + * <li>0: {@link #USSD_OVER_CS_PREFERRED} </li> + * <li>1: {@link #USSD_OVER_IMS_PREFERRED} </li> + * <li>2: {@link #USSD_OVER_CS_ONLY} </li> + * <li>3: {@link #USSD_OVER_IMS_ONLY} </li> + * </ul> + */ + public static final String KEY_CARRIER_USSD_METHOD_INT = + "carrier_ussd_method_int"; + + /** * Flag specifying whether to show an alert dialog for 5G disable when the user disables VoLTE. * By default this value is {@code false}. * @@ -3969,6 +4007,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_CARRIER_SETTINGS_ENABLE_BOOL, false); sDefaults.putBoolean(KEY_CARRIER_VOLTE_AVAILABLE_BOOL, false); sDefaults.putBoolean(KEY_CARRIER_VT_AVAILABLE_BOOL, false); + sDefaults.putInt(KEY_CARRIER_USSD_METHOD_INT, USSD_OVER_CS_PREFERRED); sDefaults.putBoolean(KEY_VOLTE_5G_LIMITED_ALERT_DIALOG_BOOL, false); sDefaults.putBoolean(KEY_NOTIFY_HANDOVER_VIDEO_FROM_WIFI_TO_LTE_BOOL, false); sDefaults.putBoolean(KEY_ALLOW_MERGING_RTT_CALLS_BOOL, false); |