Fix Wi-Fi SSID null handling

When Wi-Fi SSID is null in NetworkCapabilities,
get Wi-Fi SSID from connection info (WifiInfo) which is non-null design.

Bug: 176396812
Test: FrameworksNetTests NetworkPolicyManagerServiceTest
Change-Id: I59c7d8f7e176d0c6bb100721269f3f6165f0ca21
This commit is contained in:
lesl
2021-03-09 23:50:11 +08:00
parent fc6a6628b9
commit 1c4cd5c1d8

View File

@@ -198,15 +198,11 @@ public class NetworkIdentity implements Comparable<NetworkIdentity> {
final int oemManaged = getOemBitfield(snapshot.networkCapabilities); final int oemManaged = getOemBitfield(snapshot.networkCapabilities);
if (legacyType == TYPE_WIFI) { if (legacyType == TYPE_WIFI) {
if (snapshot.networkCapabilities.getSsid() != null) { networkId = snapshot.networkCapabilities.getSsid();
networkId = snapshot.networkCapabilities.getSsid(); if (networkId == null) {
if (networkId == null) { final WifiManager wifi = context.getSystemService(WifiManager.class);
// TODO: Figure out if this code path never runs. If so, remove them. final WifiInfo info = wifi.getConnectionInfo();
final WifiManager wifi = (WifiManager) context.getSystemService( networkId = info != null ? info.getSSID() : null;
Context.WIFI_SERVICE);
final WifiInfo info = wifi.getConnectionInfo();
networkId = info != null ? info.getSSID() : null;
}
} }
} }