Do not crash when passing null into buildTemplateMobileAll

Test: atest FrameworksNetTests:android.net.connectivity.android.net.NetworkTemplateTest
Test: atest FrameworksNetTests:android.net.connectivity.android.net.netstats.NetworkTemplateTest
Bug: 273963543
Change-Id: I0a8f94df124147e92d35cf474b3d69d1dee6902c
This commit is contained in:
Junyu Lai 2023-03-28 17:28:01 +08:00
commit 2c12f922de

View file

@ -30,16 +30,17 @@ import android.net.NetworkTemplate.MATCH_PROXY
import android.net.NetworkTemplate.MATCH_WIFI
import android.net.NetworkTemplate.NETWORK_TYPE_ALL
import android.net.NetworkTemplate.OEM_MANAGED_ALL
import android.os.Build
import android.telephony.TelephonyManager
import com.android.testutils.ConnectivityModuleTest
import com.android.testutils.DevSdkIgnoreRule
import com.android.testutils.SC_V2
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
private const val TEST_IMSI1 = "imsi"
private const val TEST_WIFI_KEY1 = "wifiKey1"
@ -96,9 +97,27 @@ class NetworkTemplateTest {
}
// Verify carrier and mobile template cannot contain one of subscriber Id is null.
listOf(MATCH_MOBILE, MATCH_CARRIER).forEach {
assertFailsWith<IllegalArgumentException> {
NetworkTemplate.Builder(MATCH_CARRIER).setSubscriberIds(setOf(null)).build()
}
val firstSdk = Build.VERSION.DEVICE_INITIAL_SDK_INT
if (firstSdk > Build.VERSION_CODES.TIRAMISU) {
assertFailsWith<IllegalArgumentException> {
NetworkTemplate.Builder(it).setSubscriberIds(setOf(null)).build()
NetworkTemplate.Builder(MATCH_MOBILE).setSubscriberIds(setOf(null)).build()
}
} else {
NetworkTemplate.Builder(MATCH_MOBILE).setSubscriberIds(setOf(null)).build().let {
val expectedTemplate = NetworkTemplate(
MATCH_MOBILE,
arrayOfNulls<String>(1) /*subscriberIds*/,
emptyArray<String>() /*wifiNetworkKey*/,
METERED_ALL,
ROAMING_ALL,
DEFAULT_NETWORK_ALL,
NETWORK_TYPE_ALL,
OEM_MANAGED_ALL
)
assertEquals(expectedTemplate, it)
}
}