From 83ff8ad4d78c8e89c9bc4f31e86969d108fd7b55 Mon Sep 17 00:00:00 2001 From: Sooraj Sasindran Date: Mon, 23 Nov 2020 23:42:51 -0800 Subject: [PATCH] Carrier config for cross sim display format Carrier config for cross sim display format Bug: 174116055 Test: build Change-Id: I645c028531a6b029772efafca800784bea5d20ca --- core/api/current.txt | 4 ++ .../telephony/CarrierConfigManager.java | 38 ++++++++++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/core/api/current.txt b/core/api/current.txt index ba01d4feef74e..2713cac3da7a0 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -40413,6 +40413,8 @@ package android.telephony { method public static boolean isConfigForIdentifiedCarrier(android.os.PersistableBundle); method public void notifyConfigChangedForSubId(int); field public static final String ACTION_CARRIER_CONFIG_CHANGED = "android.telephony.action.CARRIER_CONFIG_CHANGED"; + field public static final int CROSS_SIM_SPN_FORMAT_CARRIER_NAME_ONLY = 0; // 0x0 + field public static final int CROSS_SIM_SPN_FORMAT_CARRIER_NAME_WITH_BRANDING = 1; // 0x1 field public static final int DATA_CYCLE_THRESHOLD_DISABLED = -2; // 0xfffffffe field public static final int DATA_CYCLE_USE_PLATFORM_DEFAULT = -1; // 0xffffffff field public static final String ENABLE_EAP_METHOD_PREFIX_BOOL = "enable_eap_method_prefix_bool"; @@ -40454,6 +40456,7 @@ package android.telephony { field public static final String KEY_CARRIER_CERTIFICATE_STRING_ARRAY = "carrier_certificate_string_array"; field public static final String KEY_CARRIER_CONFIG_APPLIED_BOOL = "carrier_config_applied_bool"; field public static final String KEY_CARRIER_CONFIG_VERSION_STRING = "carrier_config_version_string"; + field public static final String KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL = "carrier_cross_sim_ims_available_bool"; field public static final String KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS = "carrier_data_call_permanent_failure_strings"; field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY = "carrier_default_actions_on_dcfailure_string_array"; field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE = "carrier_default_actions_on_default_network_available_string_array"; @@ -40505,6 +40508,7 @@ package android.telephony { field public static final String KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING = "config_plans_package_override_string"; field public static final String KEY_CONFIG_TELEPHONY_USE_OWN_NUMBER_FOR_VOICEMAIL_BOOL = "config_telephony_use_own_number_for_voicemail_bool"; field public static final String KEY_CONFIG_WIFI_DISABLE_IN_ECBM = "config_wifi_disable_in_ecbm"; + field public static final String KEY_CROSS_SIM_SPN_FORMAT_INT = "cross_sim_spn_format_int"; field public static final String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool"; field public static final String KEY_DATA_LIMIT_NOTIFICATION_BOOL = "data_limit_notification_bool"; field public static final String KEY_DATA_LIMIT_THRESHOLD_BYTES_LONG = "data_limit_threshold_bytes_long"; diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 56345c0326702..7e019ccde3722 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -742,6 +742,14 @@ public class CarrierConfigManager { */ public static final String KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL = "carrier_wfc_ims_available_bool"; + /** + * Flag specifying whether Cross SIM over IMS should be available for carrier. + * When {@code false} the carrier does not support cross SIM calling. + * When {@code true} the carrier does support cross sim calling, where available + */ + public static final String KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL = + "carrier_cross_sim_ims_available_bool"; + /** * Specifies a map from dialstrings to replacements for roaming network service numbers which * cannot be replaced on the carrier side. @@ -1496,6 +1504,31 @@ public class CarrierConfigManager { public static final String KEY_WFC_CARRIER_NAME_OVERRIDE_BY_PNN_BOOL = "wfc_carrier_name_override_by_pnn_bool"; + /** + * Value for {#CROSS_SIM_SPN_FORMAT_CARRIER_NAME_WITH_BRANDING} cnfig. + * specifies SPN format of displaying carrier name only. + * + */ + public static final int CROSS_SIM_SPN_FORMAT_CARRIER_NAME_ONLY = 0; + + /** + * Value for {#CROSS_SIM_SPN_FORMAT_CARRIER_NAME_WITH_BRANDING} cnfig. + * specifies SPN format of displaying carrier name along with "Cross-SIM calling". + */ + public static final int CROSS_SIM_SPN_FORMAT_CARRIER_NAME_WITH_BRANDING = 1; + + /** + * Indexes of SPN format strings in crossSimSpnFormats. + * + *

Available options are: + *

+ * %s will be filled with carrier name + */ + public static final String KEY_CROSS_SIM_SPN_FORMAT_INT = "cross_sim_spn_format_int"; + /** * Override the SPN Display Condition 2 integer bits (lsb). B2, B1 is the last two bits of the * spn display condition coding. @@ -2373,7 +2406,8 @@ public class CarrierConfigManager { "show_blocking_pay_phone_option_bool"; /** - * Flag specifying whether the carrier will use the WFC home network mode in roaming network. + * Flag specifying whether the carrier will use the + * WFC home network mode in roaming network. * {@code false} - roaming preference can be selected separately from the home preference. * {@code true} - roaming preference is the same as home preference and * {@link #KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT} is used as the default value. @@ -4621,6 +4655,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS, true); sDefaults.putBoolean(KEY_VILTE_DATA_IS_METERED_BOOL, true); sDefaults.putBoolean(KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL, false); + sDefaults.putBoolean(KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL, false); sDefaults.putBoolean(KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, false); sDefaults.putBoolean(KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL, false); sDefaults.putBoolean(KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_ENABLED_BOOL, false); @@ -4794,6 +4829,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_CARRIER_NAME_OVERRIDE_BOOL, false); sDefaults.putString(KEY_CARRIER_NAME_STRING, ""); sDefaults.putBoolean(KEY_WFC_CARRIER_NAME_OVERRIDE_BY_PNN_BOOL, false); + sDefaults.putInt(KEY_CROSS_SIM_SPN_FORMAT_INT, 1); sDefaults.putInt(KEY_SPN_DISPLAY_CONDITION_OVERRIDE_INT, -1); sDefaults.putStringArray(KEY_SPDI_OVERRIDE_STRING_ARRAY, null); sDefaults.putStringArray(KEY_PNN_OVERRIDE_STRING_ARRAY, null);