Use NET_CAPABILITY_NOT_VCN_MANAGED from ConstantsShim.

This is required to build in mainline-prod, which does not have
access to in-progress S APIs.

Bug: 167645754
Test: m NetworkStack CtsNetTestCasesLatestSdk CtsHostsideNetworkTests CtsHostsideNetworkTestsApp
Change-Id: If40ebfadbf6d3ee86a58a55711fbc146a8599fdb
Merged-In: If40ebfadbf6d3ee86a58a55711fbc146a8599fdb
This commit is contained in:
Lorenzo Colitti
2021-02-26 20:22:58 +09:00
parent 75d28bee27
commit 589d0ad195

View File

@@ -21,7 +21,6 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_FOTA;
import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET; import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET;
import static android.net.NetworkCapabilities.NET_CAPABILITY_MMS; import static android.net.NetworkCapabilities.NET_CAPABILITY_MMS;
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING;
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED;
import static android.net.NetworkCapabilities.NET_CAPABILITY_SUPL; import static android.net.NetworkCapabilities.NET_CAPABILITY_SUPL;
import static android.net.NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED; import static android.net.NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED;
import static android.net.NetworkCapabilities.TRANSPORT_BLUETOOTH; import static android.net.NetworkCapabilities.TRANSPORT_BLUETOOTH;
@@ -50,6 +49,7 @@ import android.util.ArraySet;
import androidx.test.runner.AndroidJUnit4; import androidx.test.runner.AndroidJUnit4;
import com.android.modules.utils.build.SdkLevel; import com.android.modules.utils.build.SdkLevel;
import com.android.networkstack.apishim.ConstantsShim;
import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRule;
import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo; import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo;
@@ -161,7 +161,7 @@ public class NetworkRequestTest {
private void addNotVcnManagedCapability(@NonNull NetworkCapabilities nc) { private void addNotVcnManagedCapability(@NonNull NetworkCapabilities nc) {
if (SdkLevel.isAtLeastS()) { if (SdkLevel.isAtLeastS()) {
nc.addCapability(NET_CAPABILITY_NOT_VCN_MANAGED); nc.addCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED);
} }
} }
@@ -303,68 +303,73 @@ public class NetworkRequestTest {
public void testBypassingVcnForNonInternetRequest() { public void testBypassingVcnForNonInternetRequest() {
// Make an empty request. Verify the NOT_VCN_MANAGED is added. // Make an empty request. Verify the NOT_VCN_MANAGED is added.
final NetworkRequest emptyRequest = new NetworkRequest.Builder().build(); final NetworkRequest emptyRequest = new NetworkRequest.Builder().build();
assertTrue(emptyRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertTrue(emptyRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Make a request explicitly add NOT_VCN_MANAGED. Verify the NOT_VCN_MANAGED is preserved. // Make a request explicitly add NOT_VCN_MANAGED. Verify the NOT_VCN_MANAGED is preserved.
final NetworkRequest mmsAddNotVcnRequest = new NetworkRequest.Builder() final NetworkRequest mmsAddNotVcnRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_MMS) .addCapability(NET_CAPABILITY_MMS)
.addCapability(NET_CAPABILITY_NOT_VCN_MANAGED) .addCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED)
.build(); .build();
assertTrue(mmsAddNotVcnRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertTrue(mmsAddNotVcnRequest.hasCapability(
ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Similar to above, but the opposite order. // Similar to above, but the opposite order.
final NetworkRequest mmsAddNotVcnRequest2 = new NetworkRequest.Builder() final NetworkRequest mmsAddNotVcnRequest2 = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_NOT_VCN_MANAGED) .addCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED)
.addCapability(NET_CAPABILITY_MMS) .addCapability(NET_CAPABILITY_MMS)
.build(); .build();
assertTrue(mmsAddNotVcnRequest2.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertTrue(mmsAddNotVcnRequest2.hasCapability(
ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Make a request explicitly remove NOT_VCN_MANAGED. Verify the NOT_VCN_MANAGED is removed. // Make a request explicitly remove NOT_VCN_MANAGED. Verify the NOT_VCN_MANAGED is removed.
final NetworkRequest removeNotVcnRequest = new NetworkRequest.Builder() final NetworkRequest removeNotVcnRequest = new NetworkRequest.Builder()
.removeCapability(NET_CAPABILITY_NOT_VCN_MANAGED).build(); .removeCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED).build();
assertFalse(removeNotVcnRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertFalse(removeNotVcnRequest.hasCapability(
ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Make a request add some capability inside VCN supported capabilities. // Make a request add some capability inside VCN supported capabilities.
// Verify the NOT_VCN_MANAGED is added. // Verify the NOT_VCN_MANAGED is added.
final NetworkRequest notRoamRequest = new NetworkRequest.Builder() final NetworkRequest notRoamRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_NOT_ROAMING).build(); .addCapability(NET_CAPABILITY_NOT_ROAMING).build();
assertTrue(notRoamRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertTrue(notRoamRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Make a internet request. Verify the NOT_VCN_MANAGED is added. // Make a internet request. Verify the NOT_VCN_MANAGED is added.
final NetworkRequest internetRequest = new NetworkRequest.Builder() final NetworkRequest internetRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_INTERNET).build(); .addCapability(NET_CAPABILITY_INTERNET).build();
assertTrue(internetRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertTrue(internetRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Make a internet request which explicitly removed NOT_VCN_MANAGED. // Make a internet request which explicitly removed NOT_VCN_MANAGED.
// Verify the NOT_VCN_MANAGED is removed. // Verify the NOT_VCN_MANAGED is removed.
final NetworkRequest internetRemoveNotVcnRequest = new NetworkRequest.Builder() final NetworkRequest internetRemoveNotVcnRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_INTERNET) .addCapability(NET_CAPABILITY_INTERNET)
.removeCapability(NET_CAPABILITY_NOT_VCN_MANAGED).build(); .removeCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED).build();
assertFalse(internetRemoveNotVcnRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertFalse(internetRemoveNotVcnRequest.hasCapability(
ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Make a normal MMS request. Verify the request could bypass VCN. // Make a normal MMS request. Verify the request could bypass VCN.
final NetworkRequest mmsRequest = final NetworkRequest mmsRequest =
new NetworkRequest.Builder().addCapability(NET_CAPABILITY_MMS).build(); new NetworkRequest.Builder().addCapability(NET_CAPABILITY_MMS).build();
assertFalse(mmsRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertFalse(mmsRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Make a SUPL request along with internet. Verify NOT_VCN_MANAGED is not added since // Make a SUPL request along with internet. Verify NOT_VCN_MANAGED is not added since
// SUPL is not in the supported list. // SUPL is not in the supported list.
final NetworkRequest suplWithInternetRequest = new NetworkRequest.Builder() final NetworkRequest suplWithInternetRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_SUPL) .addCapability(NET_CAPABILITY_SUPL)
.addCapability(NET_CAPABILITY_INTERNET).build(); .addCapability(NET_CAPABILITY_INTERNET).build();
assertFalse(suplWithInternetRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertFalse(suplWithInternetRequest.hasCapability(
ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Make a FOTA request with explicitly add NOT_VCN_MANAGED capability. Verify // Make a FOTA request with explicitly add NOT_VCN_MANAGED capability. Verify
// NOT_VCN_MANAGED is preserved. // NOT_VCN_MANAGED is preserved.
final NetworkRequest fotaRequest = new NetworkRequest.Builder() final NetworkRequest fotaRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_FOTA) .addCapability(NET_CAPABILITY_FOTA)
.addCapability(NET_CAPABILITY_NOT_VCN_MANAGED).build(); .addCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED).build();
assertTrue(fotaRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertTrue(fotaRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
// Make a DUN request, which is in {@code VCN_SUPPORTED_CAPABILITIES}. // Make a DUN request, which is in {@code VCN_SUPPORTED_CAPABILITIES}.
// Verify NOT_VCN_MANAGED is preserved. // Verify NOT_VCN_MANAGED is preserved.
final NetworkRequest dunRequest = new NetworkRequest.Builder() final NetworkRequest dunRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_DUN).build(); .addCapability(NET_CAPABILITY_DUN).build();
assertTrue(dunRequest.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); assertTrue(dunRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
} }
} }