diff options
author | gwenlin <gwenlin@google.com> | 2020-11-09 03:58:00 -0500 |
---|---|---|
committer | gwenlin <gwenlin@google.com> | 2020-11-09 03:58:00 -0500 |
commit | 821f4212f822733ec8c69957747ac23b57e8995c (patch) | |
tree | 2ec223e743b15820d5c0d325ba7668d712df2ba5 | |
parent | 26b017aae2129dddee9fff881a22cf3813291eef (diff) |
Add KEY_CARRIER_USSD_METHOD_INT to specify methods for USSD requests
Bug: 171417408
Test: atest ImsPhoneTest, atest CarrierConfigManagerTest
Change-Id: If73b775baac47b3bc85507e778e436b5a67f8017
Merged-In: I6a6bfd5e2945ea6aed897896bdbeee244dc0dcc3
-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 5d46a686ebc9..efd4c51e8ac0 100644 --- a/api/current.txt +++ b/api/current.txt @@ -46694,6 +46694,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"; @@ -46888,6 +46889,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 b3561a3c1a27..830c9ee6cdd4 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -44862,6 +44862,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"; @@ -45056,6 +45057,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 d5e834d5e2ef..c399a21cd704 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -78,6 +78,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; /** @@ -583,6 +607,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}. * @@ -3968,6 +4006,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); |