Merge "[Wi-Fi] Fix a UI defect of AddAppNetworksFragment"

This commit is contained in:
TreeHugger Robot
2020-05-25 04:49:40 +00:00
committed by Android (Google) Code Review

View File

@@ -750,21 +750,29 @@ public class AddAppNetworksFragment extends InstrumentedFragment implements
@VisibleForTesting @VisibleForTesting
void updateScanResultsToUi(List<WifiEntry> allEntries) { void updateScanResultsToUi() {
if (mUiToRequestedList == null) { if (mUiToRequestedList == null) {
// Nothing need to be updated. // Nothing need to be updated.
return; return;
} }
List<WifiEntry> reachableWifiEntries = null;
if (mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
reachableWifiEntries = mWifiPickerTracker.getWifiEntries();
final WifiEntry connectedWifiEntry = mWifiPickerTracker.getConnectedWifiEntry();
if (connectedWifiEntry != null) {
reachableWifiEntries.add(connectedWifiEntry);
}
}
// Update the signal level of the UI networks. // Update the signal level of the UI networks.
for (UiConfigurationItem uiConfigurationItem : mUiToRequestedList) { for (UiConfigurationItem uiConfigurationItem : mUiToRequestedList) {
uiConfigurationItem.mLevel = 0; uiConfigurationItem.mLevel = 0;
if (allEntries != null) { if (reachableWifiEntries != null) {
final Optional<WifiEntry> matchedWifiEntry = allEntries.stream() final Optional<WifiEntry> matchedWifiEntry = reachableWifiEntries.stream()
.filter(wifiEntry -> TextUtils.equals( .filter(wifiEntry -> TextUtils.equals(
uiConfigurationItem.mWifiNetworkSuggestion.getSsid(), uiConfigurationItem.mWifiNetworkSuggestion.getSsid(),
wifiEntry.getSsid())) wifiEntry.getSsid()))
.filter(wifiEntry -> !wifiEntry.isSaved())
.findFirst(); .findFirst();
uiConfigurationItem.mLevel = uiConfigurationItem.mLevel =
matchedWifiEntry.isPresent() ? matchedWifiEntry.get().getLevel() : 0; matchedWifiEntry.isPresent() ? matchedWifiEntry.get().getLevel() : 0;
@@ -797,9 +805,7 @@ public class AddAppNetworksFragment extends InstrumentedFragment implements
*/ */
@Override @Override
public void onWifiEntriesChanged() { public void onWifiEntriesChanged() {
updateScanResultsToUi( updateScanResultsToUi();
(mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED)
? mWifiPickerTracker.getWifiEntries() : null);
} }
@Override @Override