Loading src/com/android/settings/network/telephony/Enhanced4gLtePreferenceController.java +14 −14 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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 >= 0 && variant4glteTitleIndex < mVariantSumaries.length) { enhanced4glteModeSummary = mVariantSumaries[variant4glteTitleIndex]; if (variant4glteTitleIndex != VARIANT_TITLE_ADVANCED_CALL) { variant4glteTitleIndex = show4GForLTE ? VARIANT_TITLE_4G_CALLING : VARIANT_TITLE_VOLTE; } switchPreference.setTitle(enhanced4glteModeTitle); switchPreference.setSummary(enhanced4glteModeSummary); switchPreference.setTitle(mVariantTitles[variant4glteTitleIndex]); switchPreference.setSummary(mVariantSumaries[variant4glteTitleIndex]); switchPreference.setEnabled(is4gLtePrefEnabled()); switchPreference.setChecked(mImsManager.isEnhanced4gLteModeSettingEnabledByUser() && mImsManager.isNonTtyOrTtyOnVolteEnabled()); Loading tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLtePreferenceControllerTest.java +37 −4 Original line number Diff line number Diff line Loading @@ -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( Loading @@ -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); Loading @@ -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); Loading Loading
src/com/android/settings/network/telephony/Enhanced4gLtePreferenceController.java +14 −14 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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 >= 0 && variant4glteTitleIndex < mVariantSumaries.length) { enhanced4glteModeSummary = mVariantSumaries[variant4glteTitleIndex]; if (variant4glteTitleIndex != VARIANT_TITLE_ADVANCED_CALL) { variant4glteTitleIndex = show4GForLTE ? VARIANT_TITLE_4G_CALLING : VARIANT_TITLE_VOLTE; } switchPreference.setTitle(enhanced4glteModeTitle); switchPreference.setSummary(enhanced4glteModeSummary); switchPreference.setTitle(mVariantTitles[variant4glteTitleIndex]); switchPreference.setSummary(mVariantSumaries[variant4glteTitleIndex]); switchPreference.setEnabled(is4gLtePrefEnabled()); switchPreference.setChecked(mImsManager.isEnhanced4gLteModeSettingEnabledByUser() && mImsManager.isNonTtyOrTtyOnVolteEnabled()); Loading
tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLtePreferenceControllerTest.java +37 −4 Original line number Diff line number Diff line Loading @@ -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( Loading @@ -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); Loading @@ -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); Loading