Create new WifiEntryPreference if WifiEntry object changes
WifiSettings2 should create a new WifiEntryPreference for a cached WifiEntry key in case the underlying object has changed, so that updates to the WifiEntry are still being listened to. This may happen in situations where WifiPickerTracker swaps WifiEntries objects with the same key in the getWifiEntries() list, such as when handling network suggestions (which are kept as separate objects from the non-suggestion entries). Bug: 157174114 Test: manual visual verification in wifi picker of adding a network suggestion and seeing the entry summary for that SSID change to the suggestion summary. Change-Id: I48ac11364b06887cc4059bcda863b456e206c9bd
This commit is contained in:
@@ -763,8 +763,13 @@ public class WifiSettings extends RestrictedSettingsFragment
|
|||||||
LongPressWifiEntryPreference pref =
|
LongPressWifiEntryPreference pref =
|
||||||
(LongPressWifiEntryPreference) getCachedPreference(key);
|
(LongPressWifiEntryPreference) getCachedPreference(key);
|
||||||
if (pref != null) {
|
if (pref != null) {
|
||||||
pref.setOrder(index++);
|
if (pref.getWifiEntry() == wifiEntry) {
|
||||||
continue;
|
pref.setOrder(index++);
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
// Create a new preference if the underlying WifiEntry object has changed
|
||||||
|
removePreference(key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pref = createLongPressWifiEntryPreference(wifiEntry);
|
pref = createLongPressWifiEntryPreference(wifiEntry);
|
||||||
|
Reference in New Issue
Block a user