Merge "Control VoLTE toggle names by "show_4g_for_lte_data_icon_bool"."

This commit is contained in:
Tony Zhu
2019-04-02 03:36:03 +00:00
committed by Android (Google) Code Review
2 changed files with 50 additions and 17 deletions

View File

@@ -17,7 +17,6 @@
package com.android.settings.network.telephony; package com.android.settings.network.telephony;
import android.content.Context; import android.content.Context;
import android.content.res.Resources;
import android.os.Looper; import android.os.Looper;
import android.os.PersistableBundle; import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager; import android.telephony.CarrierConfigManager;
@@ -56,6 +55,10 @@ public class Enhanced4gLtePreferenceController extends TelephonyTogglePreference
private final CharSequence[] mVariantTitles; private final CharSequence[] mVariantTitles;
private final CharSequence[] mVariantSumaries; 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) { public Enhanced4gLtePreferenceController(Context context, String key) {
super(context, key); super(context, key);
mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class); mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
@@ -101,20 +104,17 @@ public class Enhanced4gLtePreferenceController extends TelephonyTogglePreference
public void updateState(Preference preference) { public void updateState(Preference preference) {
super.updateState(preference); super.updateState(preference);
final SwitchPreference switchPreference = (SwitchPreference) 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); CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT);
// Default index 0 indicates the default title/sumary string if (variant4glteTitleIndex != VARIANT_TITLE_ADVANCED_CALL) {
CharSequence enhanced4glteModeTitle = mVariantTitles[0]; variant4glteTitleIndex = show4GForLTE ? VARIANT_TITLE_4G_CALLING : VARIANT_TITLE_VOLTE;
CharSequence enhanced4glteModeSummary = mVariantSumaries[0];
if (variant4glteTitleIndex >= 0 && variant4glteTitleIndex < mVariantTitles.length) {
enhanced4glteModeTitle = mVariantTitles[variant4glteTitleIndex];
} }
if (variant4glteTitleIndex >= 0 && variant4glteTitleIndex < mVariantSumaries.length) {
enhanced4glteModeSummary = mVariantSumaries[variant4glteTitleIndex]; switchPreference.setTitle(mVariantTitles[variant4glteTitleIndex]);
} switchPreference.setSummary(mVariantSumaries[variant4glteTitleIndex]);
switchPreference.setTitle(enhanced4glteModeTitle);
switchPreference.setSummary(enhanced4glteModeSummary);
switchPreference.setEnabled(is4gLtePrefEnabled()); switchPreference.setEnabled(is4gLtePrefEnabled());
switchPreference.setChecked(mImsManager.isEnhanced4gLteModeSettingEnabledByUser() switchPreference.setChecked(mImsManager.isEnhanced4gLteModeSettingEnabledByUser()
&& mImsManager.isNonTtyOrTtyOnVolteEnabled()); && mImsManager.isNonTtyOrTtyOnVolteEnabled());

View File

@@ -102,7 +102,9 @@ public class Enhanced4gLtePreferenceControllerTest {
} }
@Test @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); mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 0);
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getTitle()).isEqualTo( assertThat(mPreference.getTitle()).isEqualTo(
@@ -110,12 +112,24 @@ public class Enhanced4gLtePreferenceControllerTest {
assertThat(mPreference.getSummary()).isEqualTo( assertThat(mPreference.getSummary()).isEqualTo(
mContext.getString(R.string.enhanced_4g_lte_mode_summary)); 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); mController.updateState(mPreference);
assertThat(mPreference.getTitle()).isEqualTo( 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( assertThat(mPreference.getSummary()).isEqualTo(
mContext.getString(R.string.enhanced_4g_lte_mode_summary)); 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); mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 2);
mController.updateState(mPreference); mController.updateState(mPreference);
@@ -125,6 +139,25 @@ public class Enhanced4gLtePreferenceControllerTest {
mContext.getString(R.string.enhanced_4g_lte_mode_summary_4g_calling)); 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 @Test
public void updateState_configEnabled_prefEnabled() { public void updateState_configEnabled_prefEnabled() {
mPreference.setEnabled(false); mPreference.setEnabled(false);