From 8c6218013d263dfb75b045d7b7b01bc0c9330532 Mon Sep 17 00:00:00 2001 From: calvinpan Date: Mon, 23 Mar 2020 13:51:53 +0800 Subject: [PATCH] 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 --- .../telephony/EnabledNetworkModePreferenceController.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java index c0df8513281..5ae1fdeaf95 100644 --- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java @@ -204,6 +204,8 @@ public class EnabledNetworkModePreferenceController extends } void setPreferenceEntries() { + clearAllEntries(); + switch (getEnabledNetworkType()) { case ENABLED_NETWORKS_CDMA_CHOICES: add5gEntry(addNrToLteNetworkType( @@ -608,6 +610,11 @@ public class EnabledNetworkModePreferenceController extends return mEntries.toArray(new String[0]); } + private void clearAllEntries() { + mEntries.clear(); + mEntriesValue.clear(); + } + private String[] getEntryValues() { Integer intArr[] = mEntriesValue.toArray(new Integer[0]); return Arrays.stream(intArr)