Merge "Control VoLTE toggle names by "show_4g_for_lte_data_icon_bool"."
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
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;
|
||||
@@ -56,6 +55,10 @@ public class Enhanced4gLtePreferenceController extends TelephonyTogglePreference
|
||||
private final CharSequence[] mVariantTitles;
|
||||
private final CharSequence[] mVariantSumaries;
|
||||
|
||||
private final int VARIANT_TITLE_VOLTE = 0;
|
||||
private final int VARIANT_TITLE_ADVANCED_CALL = 1;
|
||||
private final int VARIANT_TITLE_4G_CALLING = 2;
|
||||
|
||||
public Enhanced4gLtePreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
|
||||
@@ -101,20 +104,17 @@ public class Enhanced4gLtePreferenceController extends TelephonyTogglePreference
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
final SwitchPreference switchPreference = (SwitchPreference) preference;
|
||||
final int variant4glteTitleIndex = mCarrierConfig.getInt(
|
||||
final boolean show4GForLTE = mCarrierConfig.getBoolean(
|
||||
CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
|
||||
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 != VARIANT_TITLE_ADVANCED_CALL) {
|
||||
variant4glteTitleIndex = show4GForLTE ? VARIANT_TITLE_4G_CALLING : VARIANT_TITLE_VOLTE;
|
||||
}
|
||||
if (variant4glteTitleIndex >= 0 && variant4glteTitleIndex < mVariantSumaries.length) {
|
||||
enhanced4glteModeSummary = mVariantSumaries[variant4glteTitleIndex];
|
||||
}
|
||||
switchPreference.setTitle(enhanced4glteModeTitle);
|
||||
switchPreference.setSummary(enhanced4glteModeSummary);
|
||||
|
||||
switchPreference.setTitle(mVariantTitles[variant4glteTitleIndex]);
|
||||
switchPreference.setSummary(mVariantSumaries[variant4glteTitleIndex]);
|
||||
switchPreference.setEnabled(is4gLtePrefEnabled());
|
||||
switchPreference.setChecked(mImsManager.isEnhanced4gLteModeSettingEnabledByUser()
|
||||
&& mImsManager.isNonTtyOrTtyOnVolteEnabled());
|
||||
|
@@ -102,7 +102,9 @@ public class Enhanced4gLtePreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_variant4gLte_useVariantTitleAndSummary() {
|
||||
public void updateState_doNotShow4GForLTE_showVolteTitleAndSummary() {
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL, false);
|
||||
|
||||
mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 0);
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.getTitle()).isEqualTo(
|
||||
@@ -110,12 +112,24 @@ public class Enhanced4gLtePreferenceControllerTest {
|
||||
assertThat(mPreference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_summary));
|
||||
|
||||
mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 1);
|
||||
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_advanced_calling));
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_title));
|
||||
assertThat(mPreference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_summary));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_show4GForLTE_show4GTitleAndSummary() {
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL, true);
|
||||
|
||||
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_4g_calling));
|
||||
assertThat(mPreference.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_summary_4g_calling));
|
||||
|
||||
mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 2);
|
||||
mController.updateState(mPreference);
|
||||
@@ -125,6 +139,25 @@ public class Enhanced4gLtePreferenceControllerTest {
|
||||
mContext.getString(R.string.enhanced_4g_lte_mode_summary_4g_calling));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_variantAdvancedCalling_showAdvancedCallingTitleAndSummary() {
|
||||
mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 1);
|
||||
|
||||
mCarrierConfig.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL, false);
|
||||
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.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL, true);
|
||||
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));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_configEnabled_prefEnabled() {
|
||||
mPreference.setEnabled(false);
|
||||
|
Reference in New Issue
Block a user