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
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user