From 5c0227d7333c503b094616f7ef5d2fe16eee9d89 Mon Sep 17 00:00:00 2001 From: Thomas Stuart Date: Fri, 8 Apr 2022 14:04:56 -0700 Subject: [PATCH] route dial out strings to the same number based on service state VZ network noticed that 611 and *611 were dialing different numbers that are meant for IVR when the phone service state was the same(e.g ROMAING_DOMESTIC). This is not the intended behavior and the dial out string should be routed to the same number remapping which is based on the service state. Dialer handled this before but at some point stoppped. A new carrier config bundle has been added to account for the service state ROAMING_TYPE_INTERNATIONAL. bug: 211116126 Test: 2 unit tests, manually tested by (1) setting the phone in Roaming (2) Overidding Country code (3) settings carrier config bundles (4) placing calls and asserting the correct devices were called. Change-Id: I1ecacd33b12c98ed5dc43e0cf8e88395f98f2a22 --- .../java/android/telephony/CarrierConfigManager.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index a6a7c841c5ec7..9c886aada7282 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -831,6 +831,17 @@ public class CarrierConfigManager { public static final String KEY_DIAL_STRING_REPLACE_STRING_ARRAY = "dial_string_replace_string_array"; + /** + * Specifies a map from dialstrings to replacements for international roaming network service + * numbers which cannot be replaced on the carrier side. + *

+ * Individual entries have the format: + * [dialstring to replace]:[replacement] + * @hide + */ + public static final String KEY_INTERNATIONAL_ROAMING_DIAL_STRING_REPLACE_STRING_ARRAY = + "international_roaming_dial_string_replace_string_array"; + /** * Flag specifying whether WFC over IMS supports the "wifi only" option. If false, the wifi * calling settings will not include an option for "wifi only". If true, the wifi calling @@ -8713,6 +8724,7 @@ public class CarrierConfigManager { sDefaults.putStringArray(KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY, null); sDefaults.putStringArray(KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY, null); sDefaults.putStringArray(KEY_DIAL_STRING_REPLACE_STRING_ARRAY, null); + sDefaults.putStringArray(KEY_INTERNATIONAL_ROAMING_DIAL_STRING_REPLACE_STRING_ARRAY, null); sDefaults.putBoolean(KEY_FORCE_HOME_NETWORK_BOOL, false); sDefaults.putInt(KEY_GSM_DTMF_TONE_DELAY_INT, 0); sDefaults.putInt(KEY_IMS_DTMF_TONE_DELAY_INT, 0);