diff options
author | Pavel Zhamaitsiak <pavelz@google.com> | 2016-04-12 14:42:49 -0700 |
---|---|---|
committer | Pavel Zhamaitsiak <pavelz@google.com> | 2016-04-12 14:42:49 -0700 |
commit | af060eee085e90a2979a392384ccad368e92fc7a (patch) | |
tree | bc0b05557a667944a0fb16a14826ab992fcf6c49 /src/java/com/android/internal/telephony/ServiceStateTracker.java | |
parent | d4e4c8b591e7dc4a21d1b9cabac1b25b23ddbe56 (diff) | |
download | android_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.java | 27 |
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); |