diff --git a/framework/src/android/net/connectivity/ConnectivityInternalApiUtil.java b/framework/src/android/net/connectivity/ConnectivityInternalApiUtil.java index 9478e91921..dfb7844767 100644 --- a/framework/src/android/net/connectivity/ConnectivityInternalApiUtil.java +++ b/framework/src/android/net/connectivity/ConnectivityInternalApiUtil.java @@ -20,6 +20,7 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED; +import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED; import android.annotation.SuppressLint; import android.content.Context; @@ -86,12 +87,15 @@ public class ConnectivityInternalApiUtil { public static NetworkAgent buildTetheringNetworkAgent(@NonNull Context ctx, @NonNull Looper looper, @NonNull String logTag, int transportType, @NonNull LinkProperties lp) { + // LINT.IfChange final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder() .addCapability(NET_CAPABILITY_NOT_METERED) .addCapability(NET_CAPABILITY_NOT_ROAMING) .addCapability(NET_CAPABILITY_NOT_CONGESTED) .addCapability(NET_CAPABILITY_NOT_SUSPENDED) + .addCapability(NET_CAPABILITY_NOT_VCN_MANAGED) .addTransportType(transportType); + // LINT.ThenChange(../../../../../service/src/com/android/metrics/SatisfiedByLocalNetworkMetrics.java) // TODO: Change to use the constant definition. Flags.netCapabilityLocalNetwork() was not // fully rolled out but the service will still process this capability, set it anyway. builder.addCapability(36 /* NET_CAPABILITY_LOCAL_NETWORK */); diff --git a/service/src/com/android/metrics/SatisfiedByLocalNetworkMetrics.java b/service/src/com/android/metrics/SatisfiedByLocalNetworkMetrics.java index b256a19708..d45116e660 100644 --- a/service/src/com/android/metrics/SatisfiedByLocalNetworkMetrics.java +++ b/service/src/com/android/metrics/SatisfiedByLocalNetworkMetrics.java @@ -21,6 +21,7 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED; +import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED; import static com.android.net.module.util.FrameworkConnectivityStatsLog.SATISFIED_BY_LOCAL_NETWORK_REQUESTS; import static com.android.net.module.util.FrameworkConnectivityStatsLog.SATISFIED_BY_LOCAL_NETWORK_REQUESTS__TYPE__NETWORK_REQUEST_TYPE_BACKGROUND_REQUEST; @@ -107,6 +108,7 @@ public class SatisfiedByLocalNetworkMetrics implements StatsManager.StatsPullAto .addCapability(NET_CAPABILITY_NOT_ROAMING) .addCapability(NET_CAPABILITY_NOT_CONGESTED) .addCapability(NET_CAPABILITY_NOT_SUSPENDED) + .addCapability(NET_CAPABILITY_NOT_VCN_MANAGED) .addTransportType(NetworkCapabilities.TRANSPORT_WIFI) .addTransportType(NetworkCapabilities.TRANSPORT_USB) .addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET) @@ -218,4 +220,3 @@ public class SatisfiedByLocalNetworkMetrics implements StatsManager.StatsPullAto pw.println("SatisfiedByLocalNetworkMetrics: " + mSatisfiedRequestsPerTypeAndUid); } } - diff --git a/tests/unit/java/com/android/metrics/SatisfiedByLocalNetworkMetricsTest.kt b/tests/unit/java/com/android/metrics/SatisfiedByLocalNetworkMetricsTest.kt index d664754640..d6c378fde9 100644 --- a/tests/unit/java/com/android/metrics/SatisfiedByLocalNetworkMetricsTest.kt +++ b/tests/unit/java/com/android/metrics/SatisfiedByLocalNetworkMetricsTest.kt @@ -21,6 +21,7 @@ import android.content.Context import android.net.NetworkCapabilities import android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET import android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED +import android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED import android.net.NetworkCapabilities.TRANSPORT_WIFI import android.net.NetworkRequest import android.net.NetworkRequest.Type @@ -66,7 +67,9 @@ class SatisfiedByLocalNetworkMetricsTest { // Simulate caps which can potentially be satisfied by non-thread // local networks. + // Note that requests built by NetworkRequest normally have deduced NOT_VCN_MANAGED. private val WIFI_CAPS = NetworkCapabilities.Builder() + .addCapability(NET_CAPABILITY_NOT_VCN_MANAGED) .addCapability(NET_CAPABILITY_NOT_METERED) .addTransportType(TRANSPORT_WIFI) .build()