Clear the entries in updateState

When user select the prefer network type that will also invoke
updateState(), so need to clear the entries to prevent adding duplicate
item.

Bug: 152031192
Test: By manual.
Change-Id: I05c5eae658cf72bdf05f5007b4aeba575ab14d61
This commit is contained in:
calvinpan
2020-03-23 13:51:53 +08:00
parent f9b7313545
commit 8c6218013d

View File

@@ -204,6 +204,8 @@ public class EnabledNetworkModePreferenceController extends
} }
void setPreferenceEntries() { void setPreferenceEntries() {
clearAllEntries();
switch (getEnabledNetworkType()) { switch (getEnabledNetworkType()) {
case ENABLED_NETWORKS_CDMA_CHOICES: case ENABLED_NETWORKS_CDMA_CHOICES:
add5gEntry(addNrToLteNetworkType( add5gEntry(addNrToLteNetworkType(
@@ -608,6 +610,11 @@ public class EnabledNetworkModePreferenceController extends
return mEntries.toArray(new String[0]); return mEntries.toArray(new String[0]);
} }
private void clearAllEntries() {
mEntries.clear();
mEntriesValue.clear();
}
private String[] getEntryValues() { private String[] getEntryValues() {
Integer intArr[] = mEntriesValue.toArray(new Integer[0]); Integer intArr[] = mEntriesValue.toArray(new Integer[0]);
return Arrays.stream(intArr) return Arrays.stream(intArr)