Fix VoLTE toggle names for all carriers.
Change default from "Enhanced 4G LTE Mode" to "VoLTE". Add 4g calling and its sub summary. Show carreirs VoLTE toggle names by carrier config. Bug: 129112234 Bug: 129153582 Test: Use commands to override carrier config to observe the UI as expected. Change-Id: I1d418873a661b3c20c5a6d0a056dcb2573742c65
This commit is contained in:
@@ -1378,6 +1378,26 @@
|
||||
<item>@string/wifi_calling_mode_cellular_preferred_summary</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Carrier variant of Enhaced 4G LTE Mode title. [CHAR LIMIT=NONE] -->
|
||||
<string-array name="enhanced_4g_lte_mode_title_variant">
|
||||
<!-- 0: Default -->
|
||||
<item>@string/enhanced_4g_lte_mode_title</item>
|
||||
<!-- 1: Verizon -->
|
||||
<item>@string/enhanced_4g_lte_mode_title_advanced_calling</item>
|
||||
<!-- 2: All carriers who want 4G -->
|
||||
<item>@string/enhanced_4g_lte_mode_title_4g_calling</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Carrier variant of Enhaced 4G LTE Mode summary. [CHAR LIMIT=NONE] -->
|
||||
<string-array name="enhanced_4g_lte_mode_sumary_variant">
|
||||
<!-- 0: Default -->
|
||||
<item>@string/enhanced_4g_lte_mode_summary</item>
|
||||
<!-- 1: Verizon -->
|
||||
<item>@string/enhanced_4g_lte_mode_summary</item>
|
||||
<!-- 2: All carriers who want 4G -->
|
||||
<item>@string/enhanced_4g_lte_mode_summary_4g_calling</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Bluetooth icon foreground colors -->
|
||||
<integer-array name="bt_icon_fg_colors">
|
||||
<item>@color/bt_color_icon_1</item>
|
||||
|
@@ -6890,9 +6890,15 @@
|
||||
<!-- Access point names title. [CHAR LIMIT=50] -->
|
||||
<string name="access_point_names">Access point names</string>
|
||||
<!-- Enhaced 4G LTE Mode title. [CHAR LIMIT=50] -->
|
||||
<string name="enhanced_4g_lte_mode_title">Enhanced 4G LTE Mode</string>
|
||||
<string name="enhanced_4g_lte_mode_title">VoLTE</string>
|
||||
<!-- Enhaced 4G LTE Mode title for carriers who want to show Advanced Calling. [CHAR LIMIT=50] -->
|
||||
<string name="enhanced_4g_lte_mode_title_advanced_calling">Advanced Calling</string>
|
||||
<!-- Enhaced 4G LTE Mode title for carriers who want to show 4G Calling. [CHAR LIMIT=50] -->
|
||||
<string name="enhanced_4g_lte_mode_title_4g_calling">4G Calling</string>
|
||||
<!-- Enhaced 4G LTE Mode summary. [CHAR LIMIT=100] -->
|
||||
<string name="enhanced_4g_lte_mode_summary">Use LTE data to enhance voice and communications (Recommended)</string>
|
||||
<string name="enhanced_4g_lte_mode_summary">Use LTE services to improve voice and other communications (recommended)</string>
|
||||
<!-- Enhaced 4G LTE Mode summary for 4g calling. [CHAR LIMIT=100] -->
|
||||
<string name="enhanced_4g_lte_mode_summary_4g_calling">Use 4G services to improve voice and other communications (recommended)</string>
|
||||
<!-- Preferred network type title. [CHAR LIMIT=50] -->
|
||||
<string name="preferred_network_type_title">Preferred network type</string>
|
||||
<!-- Preferred network type summary. [CHAR LIMIT=100] -->
|
||||
@@ -10481,8 +10487,6 @@
|
||||
<!-- Message informs the user that has no SIM card in personalized Settings [CHAR LIMIT=30] -->
|
||||
<string name="no_sim_card">No SIM card</string>
|
||||
|
||||
<!-- Carrier variant of Enhaced 4G LTE Mode title. [CHAR LIMIT=50] -->
|
||||
<string name="enhanced_4g_lte_mode_title_variant">Advanced Calling</string>
|
||||
<!-- The following strings are summaries for preferred network modes in Mobile network settings,
|
||||
and have a character limit of 100 -->
|
||||
<!-- WCDMA preferred [CHAR LIMIT=NONE] -->
|
||||
|
@@ -17,6 +17,7 @@
|
||||
package com.android.settings.network.telephony;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Looper;
|
||||
import android.os.PersistableBundle;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
@@ -52,12 +53,18 @@ public class Enhanced4gLtePreferenceController extends TelephonyTogglePreference
|
||||
ImsManager mImsManager;
|
||||
private PhoneCallStateListener mPhoneStateListener;
|
||||
private final List<On4gLteUpdateListener> m4gLteListeners;
|
||||
private final CharSequence[] mVariantTitles;
|
||||
private final CharSequence[] mVariantSumaries;
|
||||
|
||||
public Enhanced4gLtePreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
|
||||
m4gLteListeners = new ArrayList<>();
|
||||
mPhoneStateListener = new PhoneCallStateListener(Looper.getMainLooper());
|
||||
mVariantTitles = context.getResources()
|
||||
.getTextArray(R.array.enhanced_4g_lte_mode_title_variant);
|
||||
mVariantSumaries = context.getResources()
|
||||
.getTextArray(R.array.enhanced_4g_lte_mode_sumary_variant);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -94,12 +101,20 @@ public class Enhanced4gLtePreferenceController extends TelephonyTogglePreference
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
final SwitchPreference switchPreference = (SwitchPreference) preference;
|
||||
final boolean useVariant4glteTitle = mCarrierConfig.getInt(
|
||||
CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT) != 0;
|
||||
int enhanced4glteModeTitleId = useVariant4glteTitle ?
|
||||
R.string.enhanced_4g_lte_mode_title_variant :
|
||||
R.string.enhanced_4g_lte_mode_title;
|
||||
switchPreference.setTitle(enhanced4glteModeTitleId);
|
||||
final int variant4glteTitleIndex = mCarrierConfig.getInt(
|
||||
CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT);
|
||||
|
||||
// Default index 0 indicates the default title/sumary string
|
||||
CharSequence enhanced4glteModeTitle = mVariantTitles[0];
|
||||
CharSequence enhanced4glteModeSummary = mVariantSumaries[0];
|
||||
if (variant4glteTitleIndex >= 0 && variant4glteTitleIndex < mVariantTitles.length) {
|
||||
enhanced4glteModeTitle = mVariantTitles[variant4glteTitleIndex];
|
||||
}
|
||||
if (variant4glteTitleIndex >= 0 && variant4glteTitleIndex < mVariantSumaries.length) {
|
||||
enhanced4glteModeSummary = mVariantSumaries[variant4glteTitleIndex];
|
||||
}
|
||||
switchPreference.setTitle(enhanced4glteModeTitle);
|
||||
switchPreference.setSummary(enhanced4glteModeSummary);
|
||||
switchPreference.setEnabled(is4gLtePrefEnabled());
|
||||
switchPreference.setChecked(mImsManager.isEnhanced4gLteModeSettingEnabledByUser()
|
||||
&& mImsManager.isNonTtyOrTtyOnVolteEnabled());
|
||||
|
@@ -102,13 +102,27 @@ public class Enhanced4gLtePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_variant4gLte_useVariantTitle() {
|
||||
mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 1);
|
||||
|
||||
public void updateState_variant4gLte_useVariantTitleAndSummary() {
|
||||
mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 0);
|
||||
mController.updateState(mPreference);
|
||||
|
||||
assertThat(mPreference.getTitle()).isEqualTo(
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_title_variant));
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_title));
|
||||
assertThat(mPreference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_summary));
|
||||
|
||||
mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 1);
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.getTitle()).isEqualTo(
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_title_advanced_calling));
|
||||
assertThat(mPreference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_summary));
|
||||
|
||||
mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 2);
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.getTitle()).isEqualTo(
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_title_4g_calling));
|
||||
assertThat(mPreference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_summary_4g_calling));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user