Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d705820 authored by jackqdyulei's avatar jackqdyulei
Browse files

Set default value for mobile listPreference

In some cases we don't set value for listPreference, so we need to set
a default one. This is a bug from code migration.

Change-Id: I8072b2a288a6a1254dceabea963f19459b0a9011
Fixes: 119770064
Test: RunSettingsRoboTests
parent 18873b92
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -126,7 +126,6 @@ public class EnabledNetworkModePreferenceController extends BasePreferenceContro

    private void updatePreferenceEntries(ListPreference preference) {
        final int phoneType = mTelephonyManager.getPhoneType();
        final Resources resources = mContext.getResources();
        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
        if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
            final int lteForced = android.provider.Settings.Global.getInt(
@@ -216,6 +215,7 @@ public class EnabledNetworkModePreferenceController extends BasePreferenceContro
    }

    private void updatePreferenceValueAndSummary(ListPreference preference, int networkMode) {
        preference.setValue(Integer.toString(networkMode));
        switch (networkMode) {
            case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
            case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
+12 −0
Original line number Diff line number Diff line
@@ -124,6 +124,18 @@ public class EnabledNetworkModePreferenceControllerTest {
        assertThat(mPreference.getSummary()).isEqualTo("3G");
    }

    @Test
    public void updateState_updateByNetworkMode_useDefaultValue() {
        Settings.Global.putInt(mContext.getContentResolver(),
                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
                TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);

        mController.updateState(mPreference);

        assertThat(mPreference.getValue()).isEqualTo(
                String.valueOf(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
    }

    @Test
    public void onPreferenceChange_updateSuccess() {
        doReturn(true).when(mTelephonyManager).setPreferredNetworkType(SUB_ID,