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)
 }