From f5a4fb124beac4605c8086a0e88f00cdb9199001 Mon Sep 17 00:00:00 2001 From: Cody Kesting Date: Mon, 14 Jun 2021 20:06:09 +0000 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 Merged-In: I0e1bc617910c9e8ac7b431572f276b1611acc1cb (cherry picked from commit a262a9d3d5a4d9dbabb568ea8e0a489cb29af3fe) --- 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 4932952434..ed9df56f6d 100644 --- a/framework/src/android/net/NetworkCapabilities.java +++ b/framework/src/android/net/NetworkCapabilities.java @@ -826,6 +826,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 @@ -834,6 +835,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));