Merge "Revert "Check whether CarrierConfigManager is null"" into main

This commit is contained in:
Priyanka Advani (xWF) 2025-05-20 14:22:25 -07:00 • committed by Android (Google) Code Review
commit 730bb0bfe9
2 changed files with 69 additions and 100 deletions

View file

@ -49,19 +49,16 @@ import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Assume.assumeNotNull
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.Mockito.any
import org.mockito.Mockito.doCallRealMethod
import org.mockito.Mockito.doReturn
import org.mockito.Mockito.mock
import org.mockito.Mockito.reset
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
@ -77,17 +74,6 @@ const val HANDLER_TIMEOUT_MS = 400
@SmallTest
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.R)
class MultinetworkPolicyTrackerTest {
companion object {
@Parameterized.Parameters
@JvmStatic
fun data(): Iterable<Any?> {
return mutableListOf(
null,
mock(CarrierConfigManager::class.java)
)
}
}
// This wrapper class prevents JUnit from attempting to load unsupported system classes
// that are present in the System Test (S/T) image, which would otherwise cause test failures.
private class CarrierConfigChangeRunner(
@ -111,11 +97,6 @@ class MultinetworkPolicyTrackerTest {
private val featureFlags = HashSet<String>()
// Indicates where carrierConfigManager is supported.
@Parameterized.Parameter(0)
@JvmField
var carrierConfigManager: CarrierConfigManager? = null
// This will set feature flags from @FeatureFlag annotations
// into the map before setUp() runs.
@get:Rule
@ -134,6 +115,7 @@ class MultinetworkPolicyTrackerTest {
}
private val telephonyManager = mock(TelephonyManager::class.java)
private val carrierConfigManager = mock(CarrierConfigManager::class.java)
private val subscriptionManager = mock(SubscriptionManager::class.java).also {
doReturn(null).`when`(it).getActiveSubscriptionInfo(anyInt())
}
@ -153,6 +135,8 @@ class MultinetworkPolicyTrackerTest {
}
doReturn(subscriptionManager).`when`(it)
.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE)
doReturn(carrierConfigManager).`when`(it)
.getSystemService(CarrierConfigManager::class.java)
doReturn(resolver).`when`(it).contentResolver
doReturn(resources).`when`(it).resources
doReturn(it).`when`(it).createConfigurationContext(any())
@ -222,8 +206,6 @@ class MultinetworkPolicyTrackerTest {
featureFlags.contains(FLAG_AVOID_BAD_WIFI_FROM_CARRIER_CONFIG)
)
doReturn(carrierConfigManager).`when`(context)
.getSystemService(CarrierConfigManager::class.java)
trackerDependencies.setBackgroundThreadHandler(bgHandler)
tracker = MultinetworkPolicyTracker(
context,
@ -237,9 +219,6 @@ class MultinetworkPolicyTrackerTest {
@After
fun tearDown() {
ConnectivityResources.setResourcesContextForTest(null)
carrierConfigManager?.let { ccm ->
reset(ccm)
}
trackerDependencies.resetAvoidBadWifiCarrierConfigForSubIdMap()
}
@ -347,8 +326,6 @@ class MultinetworkPolicyTrackerTest {
@FeatureFlag(name = FLAG_AVOID_BAD_WIFI_FROM_CARRIER_CONFIG, true)
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.BAKLAVA)
fun testUpdateAvoidBadWifiOnCarrierConfigChange() {
assumeNotNull("skip test if carrierConfigManager is not supported", carrierConfigManager)
// Mock the initial global setting to null
Settings.Global.putString(resolver, NETWORK_AVOID_BAD_WIFI, null)
@ -369,7 +346,7 @@ class MultinetworkPolicyTrackerTest {
// Mock the initial carrier configuration to return false
trackerDependencies.setAvoidBadWifiCarrierConfigForSubId(activeSubId, false)
verify(carrierConfigManager, times(1))
?.registerCarrierConfigChangeListener(any(), carrierConfiglistenCaptor.capture())
.registerCarrierConfigChangeListener(any(), carrierConfiglistenCaptor.capture())
val carrierConfiglistener = carrierConfiglistenCaptor.value
// dispatch for the first carrier config initialization on the handler thread

View file

@ -1,11 +1,11 @@
package com.android.server.connectivity
import android.content.Context
import android.content.res.Resources
import android.os.Handler
import android.provider.DeviceConfig
import android.provider.DeviceConfig.NAMESPACE_CONNECTIVITY
import android.provider.DeviceConfig.OnPropertiesChangedListener
import android.telephony.CarrierConfigManager
import com.android.internal.annotations.GuardedBy
import com.android.internal.os.BackgroundThread
import com.android.server.connectivity.MultinetworkPolicyTracker.CONFIG_ACTIVELY_PREFER_BAD_WIFI
@ -72,7 +72,7 @@ class MultinetworkPolicyTrackerTestDependencies(
resources
override fun readAvoidBadWifiFromCarrierConfig(
ccm: CarrierConfigManager?,
context: Context,
subId: Int
): Boolean =
avoidBadWifiCarrierConfigForSubIdMap.getOrDefault(subId, true)