Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78e0f545 authored by junyulai's avatar junyulai
Browse files

[FUI14] Get SSID from NetworkCapabilities

This allows subsequent patches to remove the need of exposing
SSID in NetworkState.

Test: atest NetworkStatsServiceTest
Bug: 174123988
Change-Id: Ib9ab07c9610954c9a5de035a3aefbf6d0bb0b53b
parent e17a1390
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -194,15 +194,17 @@ public class NetworkIdentity implements Comparable<NetworkIdentity> {
        subscriberId = state.subscriberId;

        if (type == TYPE_WIFI) {
            if (state.networkId != null) {
                networkId = state.networkId;
            } else {
            if (state.networkCapabilities.getSsid() != null) {
                networkId = state.networkCapabilities.getSsid();
                if (networkId == null) {
                    // TODO: Figure out if this code path never runs. If so, remove them.
                    final WifiManager wifi = (WifiManager) context.getSystemService(
                            Context.WIFI_SERVICE);
                    final WifiInfo info = wifi.getConnectionInfo();
                    networkId = info != null ? info.getSSID() : null;
                }
            }
        }

        return new NetworkIdentity(type, subType, subscriberId, networkId, roaming, metered,
                defaultNetwork);
+1 −0
Original line number Diff line number Diff line
@@ -2051,6 +2051,7 @@ public class NetworkPolicyManagerServiceTest {
        final LinkProperties prop = new LinkProperties();
        prop.setInterfaceName(TEST_IFACE);
        final NetworkCapabilities networkCapabilities = new NetworkCapabilities();
        networkCapabilities.setSSID(TEST_SSID);
        return new NetworkState(info, prop, networkCapabilities, null, null, TEST_SSID);
    }

+1 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ class NetworkTemplateTest {
        val caps = NetworkCapabilities().apply {
            setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED, false)
            setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING, true)
            setSSID(ssid)
        }
        return NetworkState(info, lp, caps, mock(Network::class.java), subscriberId, ssid)
    }
+3 −2
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import static android.net.NetworkStatsHistory.FIELD_ALL;
import static android.net.NetworkTemplate.NETWORK_TYPE_ALL;
import static android.net.NetworkTemplate.buildTemplateMobileAll;
import static android.net.NetworkTemplate.buildTemplateMobileWithRatType;
import static android.net.NetworkTemplate.buildTemplateWifi;
import static android.net.NetworkTemplate.buildTemplateWifiWildcard;
import static android.net.TrafficStats.MB_IN_BYTES;
import static android.net.TrafficStats.UID_REMOVED;
@@ -146,7 +147,7 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
    private static final String IMSI_2 = "310260";
    private static final String TEST_SSID = "AndroidAP";

    private static NetworkTemplate sTemplateWifi = buildTemplateWifiWildcard();
    private static NetworkTemplate sTemplateWifi = buildTemplateWifi(TEST_SSID);
    private static NetworkTemplate sTemplateImsi1 = buildTemplateMobileAll(IMSI_1);
    private static NetworkTemplate sTemplateImsi2 = buildTemplateMobileAll(IMSI_2);

@@ -291,7 +292,6 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
        // verify service has empty history for wifi
        assertNetworkTotal(sTemplateWifi, 0L, 0L, 0L, 0L, 0);


        // modify some number on wifi, and trigger poll event
        incrementCurrentTime(HOUR_IN_MILLIS);
        expectDefaultSettings();
@@ -1503,6 +1503,7 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
        capabilities.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED, !isMetered);
        capabilities.setCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING, true);
        capabilities.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
        capabilities.setSSID(TEST_SSID);
        return new NetworkState(info, prop, capabilities, WIFI_NETWORK, null, TEST_SSID);
    }