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

Commit 86f4ed16 authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Fix preferred apn not selected when back from edit

When back from edit page, preferred apn and apn list will both refresh,
if apn list refresh happens later, it will clear the preferred apn.

Saved the latest preferred apn into mPreferredApnKey to fix.

Bug: 257316932
Test: manual
Change-Id: I62f9cbd5847b7edb834c815cdecc089e0764a8c7
parent 5a81e243
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -99,6 +99,8 @@ public class ApnSettings extends RestrictedSettingsFragment
    private UserManager mUserManager;
    private int mSubId;
    private PreferredApnRepository mPreferredApnRepository;
    @Nullable
    private String mPreferredApnKey;
    private String mMvnoType;
    private String mMvnoMatchData;

@@ -175,6 +177,7 @@ public class ApnSettings extends RestrictedSettingsFragment
                });

        mPreferredApnRepository.collectPreferredApn(viewLifecycleOwner, (preferredApn) -> {
            mPreferredApnKey = preferredApn;
            final PreferenceGroup apnPreferenceList = findPreference(APN_LIST);
            for (int i = 0; i < apnPreferenceList.getPreferenceCount(); i++) {
                ApnPreference apnPreference = (ApnPreference) apnPreferenceList.getPreference(i);
@@ -259,6 +262,7 @@ public class ApnSettings extends RestrictedSettingsFragment
                        ((type == null) || type.contains(ApnSetting.TYPE_DEFAULT_STRING));
                pref.setDefaultSelectable(defaultSelectable);
                if (defaultSelectable) {
                    pref.setIsChecked(key.equals(mPreferredApnKey));
                    apnList.add(pref);
                } else {
                    mmsApnList.add(pref);