Add fall back to createTunInterface when running on R
TNM.createTunInterface() takes different parameter from S.
GTS is multi-release, so it should be compatible with S
and before S build. Add sdk version check to support it.
Bug: 186680038
Test: atest GtsNetworkStackHostTestCases:\
com.google.android.gts.networkstack.NetworkStackHostTest#\
testNetworkStack
Change-Id: I5a08068db43e507637a53a32c15a5eb453d50c32
diff --git a/staticlibs/testutils/Android.bp b/staticlibs/testutils/Android.bp
index d4465dd..6d9414f 100644
--- a/staticlibs/testutils/Android.bp
+++ b/staticlibs/testutils/Android.bp
@@ -32,6 +32,7 @@
"libnanohttpd",
"net-tests-utils-host-device-common",
"net-utils-device-common",
+ "modules-utils-build_system",
],
}
diff --git a/staticlibs/testutils/devicetests/com/android/testutils/TestNetworkTracker.kt b/staticlibs/testutils/devicetests/com/android/testutils/TestNetworkTracker.kt
index d8dd67a..36c09ce 100644
--- a/staticlibs/testutils/devicetests/com/android/testutils/TestNetworkTracker.kt
+++ b/staticlibs/testutils/devicetests/com/android/testutils/TestNetworkTracker.kt
@@ -26,6 +26,7 @@
import android.net.TestNetworkInterface
import android.net.TestNetworkManager
import android.os.Binder
+import com.android.modules.utils.build.SdkLevel.isAtLeastS
import java.util.concurrent.CompletableFuture
import java.util.concurrent.TimeUnit
@@ -39,7 +40,8 @@
fun initTestNetwork(context: Context, interfaceAddr: LinkAddress, setupTimeoutMs: Long = 10_000L):
TestNetworkTracker {
val tnm = context.getSystemService(TestNetworkManager::class.java)
- val iface = tnm.createTunInterface(arrayOf(interfaceAddr))
+ val iface = if (isAtLeastS()) tnm.createTunInterface(listOf(interfaceAddr))
+ else tnm.createTunInterface(arrayOf(interfaceAddr))
return TestNetworkTracker(context, iface, tnm, setupTimeoutMs)
}