diff --git a/core/res/res/values-mcc262-mnc02/strings.xml b/core/res/res/values-mcc262-mnc02/strings.xml deleted file mode 100644 index 2b8940195ee3b..0000000000000 --- a/core/res/res/values-mcc262-mnc02/strings.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - %s - %s Wi-Fi Calling - - diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 8e1cd5928a54d..ee0512ab25fcd 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -1086,6 +1086,15 @@ public class CarrierConfigManager { /** @hide */ public static final String KEY_WFC_DATA_SPN_FORMAT_IDX_INT = "wfc_data_spn_format_idx_int"; + /** + * Use root locale when reading wfcSpnFormats. + * + * If true, then the root locale will always be used when reading wfcSpnFormats. This means the + * non localized version of wfcSpnFormats will be used. + * @hide + */ + public static final String KEY_WFC_SPN_USE_ROOT_LOCALE = "wfc_spn_use_root_locale"; + /** * The Component Name of the activity that can setup the emergency addrees for WiFi Calling * as per carrier requirement. @@ -2274,6 +2283,7 @@ public class CarrierConfigManager { sDefaults.putStringArray(KEY_WFC_OPERATOR_ERROR_CODES_STRING_ARRAY, null); sDefaults.putInt(KEY_WFC_SPN_FORMAT_IDX_INT, 0); sDefaults.putInt(KEY_WFC_DATA_SPN_FORMAT_IDX_INT, 0); + sDefaults.putBoolean(KEY_WFC_SPN_USE_ROOT_LOCALE, false); sDefaults.putString(KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING, ""); sDefaults.putBoolean(KEY_CONFIG_WIFI_DISABLE_IN_ECBM, false); sDefaults.putBoolean(KEY_CARRIER_NAME_OVERRIDE_BOOL, false); diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 0c8280b9e086a..8f7993cc7251e 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -59,6 +59,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; @@ -1810,6 +1811,19 @@ public class SubscriptionManager { */ @UnsupportedAppUsage public static Resources getResourcesForSubId(Context context, int subId) { + return getResourcesForSubId(context, subId, false); + } + + /** + * Returns the resources associated with Subscription. + * @param context Context object + * @param subId Subscription Id of Subscription who's resources are required + * @param useRootLocale if root locale should be used. Localized locale is used if false. + * @return Resources associated with Subscription. + * @hide + */ + public static Resources getResourcesForSubId(Context context, int subId, + boolean useRootLocale) { final SubscriptionInfo subInfo = SubscriptionManager.from(context).getActiveSubscriptionInfo(subId); @@ -1821,6 +1835,11 @@ public class SubscriptionManager { newConfig.mnc = subInfo.getMnc(); if (newConfig.mnc == 0) newConfig.mnc = Configuration.MNC_ZERO; } + + if (useRootLocale) { + newConfig.setLocale(Locale.ROOT); + } + DisplayMetrics metrics = context.getResources().getDisplayMetrics(); DisplayMetrics newMetrics = new DisplayMetrics(); newMetrics.setTo(metrics);