From dd346918b4828a24f214f9ad81968705d5580f64 Mon Sep 17 00:00:00 2001 From: Cody Kesting Date: Wed, 26 May 2021 10:12:04 -0700 Subject: [PATCH] Keep subIds for Test NetworkCapabilities. This CL updates NetworkCapabilities to retain configured subscription IDs for Test NetworkCapabilities. Previously, they were cleared in restrictCapabilitiesForTestNetwork(). Bug: 182291467 Bug: 189125789 Test: atest Ikev2VpnTest IpSecManagerTunnelTest Test: atest CtsVcnTestCases Change-Id: I0e1bc617910c9e8ac7b431572f276b1611acc1cb --- framework/src/android/net/NetworkCapabilities.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/framework/src/android/net/NetworkCapabilities.java b/framework/src/android/net/NetworkCapabilities.java index 90d821bd3b..82842bc384 100644 --- a/framework/src/android/net/NetworkCapabilities.java +++ b/framework/src/android/net/NetworkCapabilities.java @@ -817,6 +817,7 @@ public final class NetworkCapabilities implements Parcelable { final int originalOwnerUid = getOwnerUid(); final int[] originalAdministratorUids = getAdministratorUids(); final TransportInfo originalTransportInfo = getTransportInfo(); + final Set originalSubIds = getSubscriptionIds(); clearAll(); if (0 != (originalCapabilities & NET_CAPABILITY_NOT_RESTRICTED)) { // If the test network is not restricted, then it is only allowed to declare some @@ -825,6 +826,9 @@ public final class NetworkCapabilities implements Parcelable { mTransportTypes = (originalTransportTypes & UNRESTRICTED_TEST_NETWORKS_ALLOWED_TRANSPORTS) | (1 << TRANSPORT_TEST); + + // SubIds are only allowed for Test Networks that only declare TRANSPORT_TEST. + setSubscriptionIds(originalSubIds); } else { // If the test transport is restricted, then it may declare any transport. mTransportTypes = (originalTransportTypes | (1 << TRANSPORT_TEST));