Merge "Check the ByteArray actual size before writing it to ByteBuffer." am: b3a3042446 am: f18bfecc7d am: a5fc9c1d8a

Original change: https://android-review.googlesource.com/c/platform/frameworks/libs/net/+/1566234

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9c82a9083512a6323321e6590f6df1e68ab9f279
diff --git a/staticlibs/devicetests/com/android/testutils/CompatUtil.kt b/staticlibs/devicetests/com/android/testutils/CompatUtil.kt
deleted file mode 100644
index 4bb90a8..0000000
--- a/staticlibs/devicetests/com/android/testutils/CompatUtil.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.testutils
-
-import android.net.NetworkSpecifier
-import android.os.Build
-
-/**
- * Test utility to create [NetworkSpecifier]s on different SDK versions.
- */
-object CompatUtil {
-    @JvmStatic
-    fun makeTestNetworkSpecifier(ifName: String): NetworkSpecifier {
-        // Until R, there was no TestNetworkSpecifier, StringNetworkSpecifier was used instead
-        if (isDevSdkInRange(minExclusive = null, maxInclusive = Build.VERSION_CODES.R)) {
-            makeNetworkSpecifierInternal("android.net.StringNetworkSpecifier", ifName)
-        }
-        // TestNetworkSpecifier is not part of the SDK in some branches using this utility
-        // TODO: replace with a direct call to the constructor
-        return makeNetworkSpecifierInternal("android.net.TestNetworkSpecifier", ifName)
-    }
-
-    @JvmStatic
-    fun makeEthernetNetworkSpecifier(ifName: String): NetworkSpecifier {
-        // Until R, there was no EthernetNetworkSpecifier, StringNetworkSpecifier was used instead
-        if (isDevSdkInRange(minExclusive = null, maxInclusive = Build.VERSION_CODES.R)) {
-            makeNetworkSpecifierInternal("android.net.StringNetworkSpecifier", ifName)
-        }
-        // EthernetNetworkSpecifier is not part of the SDK in some branches using this utility
-        // TODO: replace with a direct call to the constructor
-        return makeNetworkSpecifierInternal("android.net.EthernetNetworkSpecifier", ifName)
-    }
-
-    private fun makeNetworkSpecifierInternal(clazz: String, specifier: String): NetworkSpecifier {
-        // StringNetworkSpecifier was removed after R (and was hidden API before that)
-        return Class.forName(clazz)
-                .getConstructor(String::class.java).newInstance(specifier) as NetworkSpecifier
-    }
-}
\ No newline at end of file
diff --git a/staticlibs/devicetests/com/android/testutils/TestNetworkTracker.kt b/staticlibs/devicetests/com/android/testutils/TestNetworkTracker.kt
index 5b97861..4bd9ae8 100644
--- a/staticlibs/devicetests/com/android/testutils/TestNetworkTracker.kt
+++ b/staticlibs/devicetests/com/android/testutils/TestNetworkTracker.kt
@@ -23,6 +23,7 @@
 import android.net.Network
 import android.net.NetworkCapabilities
 import android.net.NetworkRequest
+import android.net.StringNetworkSpecifier
 import android.net.TestNetworkInterface
 import android.net.TestNetworkManager
 import android.os.Binder
@@ -67,7 +68,7 @@
                 // Test networks do not have NOT_VPN or TRUSTED capabilities by default
                 .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
                 .removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED)
-                .setNetworkSpecifier(CompatUtil.makeTestNetworkSpecifier(iface.interfaceName))
+                .setNetworkSpecifier(StringNetworkSpecifier(iface.interfaceName))
                 .build()
         networkCallback = object : NetworkCallback() {
             override fun onAvailable(network: Network) {