aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/com/android/internal/telephony/ServiceStateTracker.java
diff options
context:
space:
mode:
authorPavel Zhamaitsiak <pavelz@google.com>2016-04-12 14:42:49 -0700
committerPavel Zhamaitsiak <pavelz@google.com>2016-04-12 14:42:49 -0700
commitaf060eee085e90a2979a392384ccad368e92fc7a (patch)
treebc0b05557a667944a0fb16a14826ab992fcf6c49 /src/java/com/android/internal/telephony/ServiceStateTracker.java
parentd4e4c8b591e7dc4a21d1b9cabac1b25b23ddbe56 (diff)
downloadandroid_frameworks_opt_telephony-af060eee085e90a2979a392384ccad368e92fc7a.tar.gz
android_frameworks_opt_telephony-af060eee085e90a2979a392384ccad368e92fc7a.tar.bz2
android_frameworks_opt_telephony-af060eee085e90a2979a392384ccad368e92fc7a.zip
Don't use overlays for WFC error messages and SPN formats
- Error alert and notification messages are stored as string arrays in resources. CarrierConfig stores carrier-specific error codes and corresponding index which is used to get appropriate messages. - Supported SPN formats are stored as string arrays in resources. CarrierConfig stores index used to get appropriate SPN format. Bug: 27170754 Change-Id: I7f3635ec0ae73d6190b4b73b11ad13058fc25d54
Diffstat (limited to 'src/java/com/android/internal/telephony/ServiceStateTracker.java')
-rw-r--r--src/java/com/android/internal/telephony/ServiceStateTracker.java27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/java/com/android/internal/telephony/ServiceStateTracker.java b/src/java/com/android/internal/telephony/ServiceStateTracker.java
index fcf8bfcf0..044dcbeca 100644
--- a/src/java/com/android/internal/telephony/ServiceStateTracker.java
+++ b/src/java/com/android/internal/telephony/ServiceStateTracker.java
@@ -2214,10 +2214,29 @@ public class ServiceStateTracker extends Handler {
&& mPhone.getImsPhone() != null
&& mPhone.getImsPhone().isWifiCallingEnabled()) {
// In Wi-Fi Calling mode show SPN+WiFi
- String formatVoice = mPhone.getContext().getText(
- com.android.internal.R.string.wfcSpnFormat).toString();
- String formatData = mPhone.getContext().getText(
- com.android.internal.R.string.wfcDataSpnFormat).toString();
+
+ final String[] wfcSpnFormats =
+ mPhone.getContext().getResources().getStringArray(
+ com.android.internal.R.array.wfcSpnFormats);
+ int voiceIdx = 0;
+ int dataIdx = 0;
+ CarrierConfigManager configLoader = (CarrierConfigManager)
+ mPhone.getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE);
+ if (configLoader != null) {
+ try {
+ PersistableBundle b = configLoader.getConfig(mPhone.getSubId());
+ if (b != null) {
+ voiceIdx = b.getInt(CarrierConfigManager.KEY_WFC_SPN_FORMAT_IDX_INT);
+ dataIdx = b.getInt(
+ CarrierConfigManager.KEY_WFC_DATA_SPN_FORMAT_IDX_INT);
+ }
+ } catch (Exception e) {
+ loge("updateSpnDisplay: carrier config error: " + e);
+ }
+ }
+
+ String formatVoice = wfcSpnFormats[voiceIdx];
+ String formatData = wfcSpnFormats[dataIdx];
String originalSpn = spn.trim();
spn = String.format(formatVoice, originalSpn);
dataSpn = String.format(formatData, originalSpn);