From f2994122c1e8bd2b84879960b87be89ad7158356 Mon Sep 17 00:00:00 2001 From: Chalard Jean Date: Mon, 28 Apr 2025 14:37:03 +0900 Subject: [PATCH] Remove RecorderCallback. This class doesn't actually serve a purpose, it only makes TestableNetworkCallbck more complex. Test: CtsNetTestCases ConnectivityCoverageTests Flag: EXEMPT test-only Change-Id: I39a598b82a3215384bdfe04980f4b280ab2c2716 --- .../android/net/EthernetTetheringTest.java | 12 +- .../testutils/TestableNetworkCallbackTest.kt | 52 +++---- .../TestableNetworkCallbackTestJava.java | 2 +- .../ConnectivityCheckTest.kt | 4 +- .../AutoReleaseNetworkCallbackRule.kt | 4 +- .../com/android/testutils/ConnectUtil.kt | 6 +- .../testutils/DefaultNetworkRestoreMonitor.kt | 2 +- .../testutils/EthernetTestInterface.kt | 8 +- .../com/android/testutils/PacketBridge.kt | 2 +- .../android/testutils/TestableNetworkAgent.kt | 70 ++++----- .../testutils/TestableNetworkCallback.kt | 144 ++++++++---------- .../testutils/TestableNetworkOfferCallback.kt | 22 +-- .../java/android/net/NetworkProviderTest.kt | 24 +-- .../com/android/cts/net/hostside/VpnTest.java | 35 +++-- .../ConnectivityMultiDevicesSnippet.kt | 2 +- .../src/android/net/cts/ApfIntegrationTest.kt | 4 +- .../src/android/net/cts/CaptivePortalTest.kt | 2 +- .../net/cts/ConnectivityManagerTest.java | 126 +++++++-------- .../src/android/net/cts/DnsResolverTapTest.kt | 2 +- .../src/android/net/cts/DnsResolverTest.java | 4 +- .../net/src/android/net/cts/DscpPolicyTest.kt | 4 +- .../android/net/cts/EthernetManagerTest.kt | 26 ++-- .../net/src/android/net/cts/Ikev2VpnTest.java | 14 +- .../src/android/net/cts/NetworkAgentTest.kt | 58 +++---- .../android/net/cts/NetworkReservationTest.kt | 4 +- .../src/android/net/cts/NetworkScoreTest.kt | 4 +- .../net/cts/NetworkStatsManagerTest.java | 8 +- .../android/net/cts/NetworkValidationTest.kt | 7 +- .../net/src/android/net/cts/NsdManagerTest.kt | 4 +- .../android/net/cts/util/CtsNetUtils.java | 4 +- .../tethering/cts/TetheringWifiP2pTest.kt | 6 +- tests/integration/src/android/net/ClatTest.kt | 2 +- .../src/android/net/Dhcp6PdTest.kt | 4 +- .../ConnectivityServiceIntegrationTest.kt | 2 +- .../NetworkStatsIntegrationTest.kt | 2 +- .../server/ConnectivityServiceTest.java | 72 ++++----- .../CSBlockedReasonsTest.kt | 2 +- .../CSDeclaredMethodsForCallbacksTest.kt | 8 +- .../CSDestroyedNetworkTests.kt | 2 +- .../CSIngressDiscardRuleTests.kt | 2 +- .../CSInterfaceTrackerTest.kt | 3 +- .../CSKeepConnectedTest.kt | 2 +- .../CSL2capProviderTest.kt | 7 +- .../CSLocalAgentCreationTests.kt | 2 +- .../connectivityservice/CSLocalAgentTests.kt | 4 +- .../CSLocalNetworkProtectionTest.kt | 4 +- .../CSNetworkActivityTest.kt | 2 +- .../CSNetworkReservationTest.kt | 8 +- .../connectivityservice/CSPreferenceTest.kt | 6 +- .../CSQueuedCallbacksTest.kt | 14 +- .../CSSatelliteNetworkTest.kt | 4 +- .../CSShellCommandsTest.kt | 4 +- .../base/CSAgentWrapper.kt | 4 +- .../thread/utils/TapTestNetworkTracker.java | 2 +- 54 files changed, 408 insertions(+), 420 deletions(-) mode change 100755 => 100644 tests/cts/hostside/app/src/com/android/cts/net/hostside/VpnTest.java mode change 100755 => 100644 tests/unit/java/com/android/server/ConnectivityServiceTest.java diff --git a/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java b/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java index a2bf3a6c99..14795b7320 100644 --- a/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java +++ b/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java @@ -93,8 +93,8 @@ import com.android.testutils.DeviceInfoUtils; import com.android.testutils.DumpTestUtils; import com.android.testutils.NetworkStackModuleTest; import com.android.testutils.PollPacketReader; -import com.android.testutils.RecorderCallback.CallbackEntry; import com.android.testutils.TestableNetworkCallback; +import com.android.testutils.TestableNetworkCallback.Event; import org.junit.After; import org.junit.Rule; @@ -1297,16 +1297,16 @@ public class EthernetTetheringTest extends EthernetTetheringTestBase { } // Verify NetworkCallback works accordingly. - final Network network = networkCallback.expect(CallbackEntry.AVAILABLE).getNetwork(); - final CallbackEntry.CapabilitiesChanged capEvent = - networkCallback.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED); + final Network network = networkCallback.expect(Event.AVAILABLE).getNetwork(); + final Event.CapabilitiesChanged capEvent = + networkCallback.eventuallyExpect(Event.NETWORK_CAPS_UPDATED); assertEquals(network, capEvent.getNetwork()); assertTrue(capEvent.getCaps().hasTransport(TRANSPORT_ETHERNET)); assertTrue(capEvent.getCaps().hasCapability(NET_CAPABILITY_LOCAL_NETWORK)); // Verify details in the LinkPropertiesChanged event. - final CallbackEntry.LinkPropertiesChanged lpEvent = - networkCallback.eventuallyExpect(CallbackEntry.LINK_PROPERTIES_CHANGED); + final Event.LinkPropertiesChanged lpEvent = + networkCallback.eventuallyExpect(Event.LINK_PROPERTIES_CHANGED); assertEquals(network, lpEvent.getNetwork()); assertEquals(iface, lpEvent.getLp().getInterfaceName()); assertTrue(lpEvent.getLp().hasIPv4Address()); diff --git a/staticlibs/tests/unit/src/com/android/testutils/TestableNetworkCallbackTest.kt b/staticlibs/tests/unit/src/com/android/testutils/TestableNetworkCallbackTest.kt index e838bdc564..c35013da86 100644 --- a/staticlibs/tests/unit/src/com/android/testutils/TestableNetworkCallbackTest.kt +++ b/staticlibs/tests/unit/src/com/android/testutils/TestableNetworkCallbackTest.kt @@ -21,20 +21,20 @@ import android.net.LinkAddress import android.net.LinkProperties import android.net.Network import android.net.NetworkCapabilities -import com.android.testutils.RecorderCallback.CallbackEntry -import com.android.testutils.RecorderCallback.CallbackEntry.Available -import com.android.testutils.RecorderCallback.CallbackEntry.BlockedStatus -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.Companion.AVAILABLE -import com.android.testutils.RecorderCallback.CallbackEntry.Companion.BLOCKED_STATUS -import com.android.testutils.RecorderCallback.CallbackEntry.Companion.LINK_PROPERTIES_CHANGED -import com.android.testutils.RecorderCallback.CallbackEntry.Companion.LOSING -import com.android.testutils.RecorderCallback.CallbackEntry.Companion.LOST -import com.android.testutils.RecorderCallback.CallbackEntry.Companion.NETWORK_CAPS_UPDATED -import com.android.testutils.RecorderCallback.CallbackEntry.Companion.RESUMED -import com.android.testutils.RecorderCallback.CallbackEntry.Companion.SUSPENDED -import com.android.testutils.RecorderCallback.CallbackEntry.Companion.UNAVAILABLE -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event +import com.android.testutils.TestableNetworkCallback.Event.Available +import com.android.testutils.TestableNetworkCallback.Event.BlockedStatus +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.Companion.AVAILABLE +import com.android.testutils.TestableNetworkCallback.Event.Companion.BLOCKED_STATUS +import com.android.testutils.TestableNetworkCallback.Event.Companion.LINK_PROPERTIES_CHANGED +import com.android.testutils.TestableNetworkCallback.Event.Companion.LOSING +import com.android.testutils.TestableNetworkCallback.Event.Companion.LOST +import com.android.testutils.TestableNetworkCallback.Event.Companion.NETWORK_CAPS_UPDATED +import com.android.testutils.TestableNetworkCallback.Event.Companion.RESUMED +import com.android.testutils.TestableNetworkCallback.Event.Companion.SUSPENDED +import com.android.testutils.TestableNetworkCallback.Event.Companion.UNAVAILABLE +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import kotlin.reflect.KClass import kotlin.test.assertEquals import kotlin.test.assertFails @@ -170,19 +170,19 @@ class TestableNetworkCallbackTest { val net = Network(193) val netCaps = NetworkCapabilities().addTransportType(CELLULAR) // Check that expecting callbackThat anything fails when no callback has been received. - assertFails { mCallback.expect(timeoutMs = SHORT_TIMEOUT_MS) { true } } + assertFails { mCallback.expect(timeoutMs = SHORT_TIMEOUT_MS) { true } } // Basic test for true and false mCallback.onAvailable(net) mCallback.expect { true } mCallback.onAvailable(net) - assertFails { mCallback.expect(timeoutMs = SHORT_TIMEOUT_MS) { false } } + assertFails { mCallback.expect(timeoutMs = SHORT_TIMEOUT_MS) { false } } // Try a positive and a negative case mCallback.onBlockedStatusChanged(net, true) - mCallback.expect { cb -> cb is BlockedStatus && cb.blocked } + mCallback.expect { cb -> cb is BlockedStatus && cb.blocked } mCallback.onCapabilitiesChanged(net, netCaps) - assertFails { mCallback.expect(timeoutMs = SHORT_TIMEOUT_MS) { cb -> + assertFails { mCallback.expect(timeoutMs = SHORT_TIMEOUT_MS) { cb -> cb is CapabilitiesChanged && cb.caps.hasTransport(WIFI) } } } @@ -410,24 +410,24 @@ class TestableNetworkCallbackTest { private object TNCInterpreter : ConcurrentInterpreter(interpretTable) -val EntryList = CallbackEntry::class.sealedSubclasses.map { it.simpleName }.joinToString("|") -private fun callbackEntryFromString(name: String): KClass { - return CallbackEntry::class.sealedSubclasses.first { it.simpleName == name } +val EntryList = Event::class.sealedSubclasses.map { it.simpleName }.joinToString("|") +private fun callbackEntryFromString(name: String): KClass { + return Event::class.sealedSubclasses.first { it.simpleName == name } } @SuppressLint("NewApi") // Uses hidden APIs, which the linter would identify as missing APIs. private val interpretTable = listOf>( // Interpret "Available(xx)" as "call to onAvailable with netId xx", and likewise for // all callback types. This is implemented above by enumerating the subclasses of - // CallbackEntry and reading their simpleName. + // Event and reading their simpleName. Regex("""(.*)\s+=\s+($EntryList)\((\d+)\)""") to { i, cb, t -> val record = i.interpret(t.strArg(1), cb) assertTrue(callbackEntryFromString(t.strArg(2)).isInstance(record)) - // Strictly speaking testing for is CallbackEntry is useless as it's been tested above + // Strictly speaking testing for is Event is useless as it's been tested above // but the compiler can't figure things out from the isInstance call. It does understand - // from the assertTrue(is CallbackEntry) that this is true, which allows to access + // from the assertTrue(is Event) that this is true, which allows to access // the 'network' member below. - assertTrue(record is CallbackEntry) + assertTrue(record is Event) assertEquals(record.network.netId, t.intArg(3)) }, // Interpret "onAvailable(xx)" as calling "onAvailable" with a netId of xx, and likewise for @@ -451,7 +451,7 @@ private val interpretTable = listOf>( }, Regex("""poll\((\d+)\)""") to { i, cb, t -> cb.poll(t.timeArg(1)) }, // Interpret "eventually(Available(xx), timeout)" as calling eventuallyExpect that expects - // CallbackEntry.AVAILABLE with netId of xx within timeout*INTERPRET_TIME_UNIT timeout, and + // Event.AVAILABLE with netId of xx within timeout*INTERPRET_TIME_UNIT timeout, and // likewise for all callback types. Regex("""eventually\(($EntryList)\((\d+)\),\s+(\d+)\)""") to { i, cb, t -> val net = Network(t.intArg(2)) diff --git a/staticlibs/tests/unit/src/com/android/testutils/TestableNetworkCallbackTestJava.java b/staticlibs/tests/unit/src/com/android/testutils/TestableNetworkCallbackTestJava.java index 4570d0aecb..da1cbe4dc0 100644 --- a/staticlibs/tests/unit/src/com/android/testutils/TestableNetworkCallbackTestJava.java +++ b/staticlibs/tests/unit/src/com/android/testutils/TestableNetworkCallbackTestJava.java @@ -16,7 +16,7 @@ package com.android.testutils; -import static com.android.testutils.RecorderCallback.CallbackEntry.AVAILABLE; +import static com.android.testutils.TestableNetworkCallback.Event.AVAILABLE; import static com.android.testutils.TestableNetworkCallbackKt.anyNetwork; import static org.junit.Assume.assumeTrue; diff --git a/staticlibs/testutils/app/connectivitychecker/src/com/android/testutils/connectivitypreparer/ConnectivityCheckTest.kt b/staticlibs/testutils/app/connectivitychecker/src/com/android/testutils/connectivitypreparer/ConnectivityCheckTest.kt index c42d9e57fc..de175ce15d 100644 --- a/staticlibs/testutils/app/connectivitychecker/src/com/android/testutils/connectivitypreparer/ConnectivityCheckTest.kt +++ b/staticlibs/testutils/app/connectivitychecker/src/com/android/testutils/connectivitypreparer/ConnectivityCheckTest.kt @@ -34,8 +34,8 @@ import com.android.net.module.util.NetworkStackConstants.IPV4_ADDR_ANY import com.android.net.module.util.NetworkStackConstants.IPV6_ADDR_ANY import com.android.testutils.AutoReleaseNetworkCallbackRule import com.android.testutils.ConnectUtil -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.runAsShell import com.android.testutils.tryTest import java.io.IOException diff --git a/staticlibs/testutils/devicetests/com/android/testutils/AutoReleaseNetworkCallbackRule.kt b/staticlibs/testutils/devicetests/com/android/testutils/AutoReleaseNetworkCallbackRule.kt index e42223d7f9..31a12df75f 100644 --- a/staticlibs/testutils/devicetests/com/android/testutils/AutoReleaseNetworkCallbackRule.kt +++ b/staticlibs/testutils/devicetests/com/android/testutils/AutoReleaseNetworkCallbackRule.kt @@ -27,7 +27,7 @@ import android.net.NetworkCapabilities.TRANSPORT_WIFI import android.net.NetworkRequest import android.os.Handler import androidx.test.platform.app.InstrumentationRegistry -import com.android.testutils.RecorderCallback.CallbackEntry +import com.android.testutils.TestableNetworkCallback.Event.Available import java.util.Collections import kotlin.test.fail import org.junit.rules.TestRule @@ -84,7 +84,7 @@ open class NetworkCallbackHelper { } val cb = requestNetwork(getInternetRequest(TRANSPORT_CELLULAR)) cellRequestCb = cb - return cb.expect( + return cb.expect( errorMsg = "Cell network not available. " + "Please ensure the device has working mobile data." ).network diff --git a/staticlibs/testutils/devicetests/com/android/testutils/ConnectUtil.kt b/staticlibs/testutils/devicetests/com/android/testutils/ConnectUtil.kt index d60ab5960f..9045598439 100644 --- a/staticlibs/testutils/devicetests/com/android/testutils/ConnectUtil.kt +++ b/staticlibs/testutils/devicetests/com/android/testutils/ConnectUtil.kt @@ -35,8 +35,8 @@ import android.os.ParcelFileDescriptor import android.os.SystemClock import android.util.Log import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation -import com.android.testutils.RecorderCallback.CallbackEntry -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged import java.util.concurrent.CompletableFuture import java.util.concurrent.TimeUnit import kotlin.test.assertNotNull @@ -242,7 +242,7 @@ class ConnectUtil(private val context: Context) { } } -private inline fun TestableNetworkCallback.eventuallyExpect( +private inline fun TestableNetworkCallback.eventuallyExpect( errorMsg: String, crossinline predicate: (T) -> Boolean = { true } ): T = history.poll(defaultTimeoutMs, mark) { it is T && predicate(it) }.also { diff --git a/staticlibs/testutils/devicetests/com/android/testutils/DefaultNetworkRestoreMonitor.kt b/staticlibs/testutils/devicetests/com/android/testutils/DefaultNetworkRestoreMonitor.kt index 4559cb7b09..104ddde447 100644 --- a/staticlibs/testutils/devicetests/com/android/testutils/DefaultNetworkRestoreMonitor.kt +++ b/staticlibs/testutils/devicetests/com/android/testutils/DefaultNetworkRestoreMonitor.kt @@ -24,7 +24,7 @@ import android.net.Network import android.net.NetworkCapabilities import com.android.internal.annotations.VisibleForTesting import com.android.net.module.util.BitUtils -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged import java.util.concurrent.CompletableFuture import java.util.concurrent.TimeUnit import org.junit.runner.Description diff --git a/staticlibs/testutils/devicetests/com/android/testutils/EthernetTestInterface.kt b/staticlibs/testutils/devicetests/com/android/testutils/EthernetTestInterface.kt index 2dc51a3b3d..1bcfede8a9 100644 --- a/staticlibs/testutils/devicetests/com/android/testutils/EthernetTestInterface.kt +++ b/staticlibs/testutils/devicetests/com/android/testutils/EthernetTestInterface.kt @@ -27,7 +27,7 @@ import android.net.TestNetworkInterface import android.os.Handler import android.util.Log import com.android.net.module.util.ArrayTrackRecord -import com.android.testutils.EthernetTestInterface.EthernetStateListener.CallbackEntry.InterfaceStateChanged +import com.android.testutils.EthernetTestInterface.EthernetStateListener.Event.InterfaceStateChanged import java.net.NetworkInterface import kotlin.concurrent.Volatile import kotlin.test.assertNotNull @@ -47,15 +47,15 @@ class EthernetTestInterface( val testIface: TestNetworkInterface ) { private class EthernetStateListener(private val trackedIface: String) : InterfaceStateListener { - val events = ArrayTrackRecord().newReadHead() + val events = ArrayTrackRecord().newReadHead() - sealed class CallbackEntry { + sealed class Event { data class InterfaceStateChanged( val iface: String, val state: Int, val role: Int, val cfg: IpConfiguration? - ) : CallbackEntry() + ) : Event() } override fun onInterfaceStateChanged( diff --git a/staticlibs/testutils/devicetests/com/android/testutils/PacketBridge.kt b/staticlibs/testutils/devicetests/com/android/testutils/PacketBridge.kt index 0b736d1615..5eeaee38cb 100644 --- a/staticlibs/testutils/devicetests/com/android/testutils/PacketBridge.kt +++ b/staticlibs/testutils/devicetests/com/android/testutils/PacketBridge.kt @@ -28,7 +28,7 @@ import android.net.TestNetworkInterface import android.net.TestNetworkManager import android.net.TestNetworkSpecifier import android.os.Binder -import com.android.testutils.RecorderCallback.CallbackEntry.Available +import com.android.testutils.TestableNetworkCallback.Event.Available import java.net.InetAddress import libcore.io.IoUtils diff --git a/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkAgent.kt b/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkAgent.kt index 1a82c5b346..3d00e86b2e 100644 --- a/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkAgent.kt +++ b/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkAgent.kt @@ -45,21 +45,21 @@ import android.system.OsConstants.SOCK_DGRAM import com.android.modules.utils.build.SdkLevel.isAtLeastS import com.android.net.module.util.ArrayTrackRecord import com.android.testutils.CompatUtil.makeTestNetworkSpecifier -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnAddKeepalivePacketFilter -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnAutomaticReconnectDisabled -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnBandwidthUpdateRequested -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnDscpPolicyStatusUpdated -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnNetworkCreated -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnNetworkDestroyed -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnNetworkUnwanted -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnRegisterQosCallback -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnRemoveKeepalivePacketFilter -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnSaveAcceptUnvalidated -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnSignalStrengthThresholdsUpdated -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnStartSocketKeepalive -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnStopSocketKeepalive -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnUnregisterQosCallback -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnValidationStatus +import com.android.testutils.TestableNetworkAgent.Event.OnAddKeepalivePacketFilter +import com.android.testutils.TestableNetworkAgent.Event.OnAutomaticReconnectDisabled +import com.android.testutils.TestableNetworkAgent.Event.OnBandwidthUpdateRequested +import com.android.testutils.TestableNetworkAgent.Event.OnDscpPolicyStatusUpdated +import com.android.testutils.TestableNetworkAgent.Event.OnNetworkCreated +import com.android.testutils.TestableNetworkAgent.Event.OnNetworkDestroyed +import com.android.testutils.TestableNetworkAgent.Event.OnNetworkUnwanted +import com.android.testutils.TestableNetworkAgent.Event.OnRegisterQosCallback +import com.android.testutils.TestableNetworkAgent.Event.OnRemoveKeepalivePacketFilter +import com.android.testutils.TestableNetworkAgent.Event.OnSaveAcceptUnvalidated +import com.android.testutils.TestableNetworkAgent.Event.OnSignalStrengthThresholdsUpdated +import com.android.testutils.TestableNetworkAgent.Event.OnStartSocketKeepalive +import com.android.testutils.TestableNetworkAgent.Event.OnStopSocketKeepalive +import com.android.testutils.TestableNetworkAgent.Event.OnUnregisterQosCallback +import com.android.testutils.TestableNetworkAgent.Event.OnValidationStatus import java.net.NetworkInterface import java.net.SocketException import java.time.Duration @@ -193,34 +193,34 @@ public open class TestableNetworkAgent( val DEFAULT_TIMEOUT_MS = 5000L - val history = ArrayTrackRecord().newReadHead() + val history = ArrayTrackRecord().newReadHead() - sealed class CallbackEntry { - object OnBandwidthUpdateRequested : CallbackEntry() - object OnNetworkUnwanted : CallbackEntry() + sealed class Event { + object OnBandwidthUpdateRequested : Event() + object OnNetworkUnwanted : Event() data class OnAddKeepalivePacketFilter( val slot: Int, val packet: KeepalivePacketData - ) : CallbackEntry() - data class OnRemoveKeepalivePacketFilter(val slot: Int) : CallbackEntry() + ) : Event() + data class OnRemoveKeepalivePacketFilter(val slot: Int) : Event() data class OnStartSocketKeepalive( val slot: Int, val interval: Int, val packet: KeepalivePacketData - ) : CallbackEntry() - data class OnStopSocketKeepalive(val slot: Int) : CallbackEntry() - data class OnSaveAcceptUnvalidated(val accept: Boolean) : CallbackEntry() - object OnAutomaticReconnectDisabled : CallbackEntry() - data class OnValidationStatus(val status: Int, val uri: Uri?) : CallbackEntry() - data class OnSignalStrengthThresholdsUpdated(val thresholds: IntArray) : CallbackEntry() - object OnNetworkCreated : CallbackEntry() - object OnNetworkDestroyed : CallbackEntry() - data class OnDscpPolicyStatusUpdated(val policyId: Int, val status: Int) : CallbackEntry() + ) : Event() + data class OnStopSocketKeepalive(val slot: Int) : Event() + data class OnSaveAcceptUnvalidated(val accept: Boolean) : Event() + object OnAutomaticReconnectDisabled : Event() + data class OnValidationStatus(val status: Int, val uri: Uri?) : Event() + data class OnSignalStrengthThresholdsUpdated(val thresholds: IntArray) : Event() + object OnNetworkCreated : Event() + object OnNetworkDestroyed : Event() + data class OnDscpPolicyStatusUpdated(val policyId: Int, val status: Int) : Event() data class OnRegisterQosCallback( val callbackId: Int, val filter: QosFilter - ) : CallbackEntry() - data class OnUnregisterQosCallback(val callbackId: Int) : CallbackEntry() + ) : Event() + data class OnUnregisterQosCallback(val callbackId: Int) : Event() } override fun onBandwidthUpdateRequested() { @@ -306,19 +306,19 @@ public open class TestableNetworkAgent( assertEquals("", it.uri.toString()) } - inline fun expectCallback(): T { + inline fun expectCallback(): T { val foundCallback = history.poll(DEFAULT_TIMEOUT_MS) assertTrue(foundCallback is T, "Expected ${T::class} but found $foundCallback") return foundCallback } - inline fun expectCallback(valid: (T) -> Boolean) { + inline fun expectCallback(valid: (T) -> Boolean) { val foundCallback = history.poll(DEFAULT_TIMEOUT_MS) assertTrue(foundCallback is T, "Expected ${T::class} but found $foundCallback") assertTrue(valid(foundCallback), "Unexpected callback : $foundCallback") } - inline fun eventuallyExpect() = + inline fun eventuallyExpect() = history.poll(DEFAULT_TIMEOUT_MS) { it is T }.also { assertNotNull(it, "Callback ${T::class} not received") } as T diff --git a/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkCallback.kt b/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkCallback.kt index c4e236e1d0..1a6eade6c2 100644 --- a/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkCallback.kt +++ b/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkCallback.kt @@ -24,18 +24,18 @@ import android.net.NetworkCapabilities import android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED import android.util.Log import com.android.net.module.util.ArrayTrackRecord -import com.android.testutils.RecorderCallback.CallbackEntry.Available -import com.android.testutils.RecorderCallback.CallbackEntry.BlockedStatus -import com.android.testutils.RecorderCallback.CallbackEntry.BlockedStatusInt -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.LocalInfoChanged -import com.android.testutils.RecorderCallback.CallbackEntry.Losing -import com.android.testutils.RecorderCallback.CallbackEntry.Lost -import com.android.testutils.RecorderCallback.CallbackEntry.Reserved -import com.android.testutils.RecorderCallback.CallbackEntry.Resumed -import com.android.testutils.RecorderCallback.CallbackEntry.Suspended -import com.android.testutils.RecorderCallback.CallbackEntry.Unavailable +import com.android.testutils.TestableNetworkCallback.Event.Available +import com.android.testutils.TestableNetworkCallback.Event.BlockedStatus +import com.android.testutils.TestableNetworkCallback.Event.BlockedStatusInt +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LocalInfoChanged +import com.android.testutils.TestableNetworkCallback.Event.Losing +import com.android.testutils.TestableNetworkCallback.Event.Lost +import com.android.testutils.TestableNetworkCallback.Event.Reserved +import com.android.testutils.TestableNetworkCallback.Event.Resumed +import com.android.testutils.TestableNetworkCallback.Event.Suspended +import com.android.testutils.TestableNetworkCallback.Event.Unavailable import kotlin.reflect.KClass import kotlin.test.assertEquals import kotlin.test.assertNotNull @@ -45,64 +45,72 @@ object NULL_NETWORK : Network(-1) object ANY_NETWORK : Network(-2) fun anyNetwork() = ANY_NETWORK -private val DEFAULT_TAG = RecorderCallback::class.simpleName +private val DEFAULT_TAG = TestableNetworkCallback::class.simpleName ?: fail("Could not determine class name") -open class RecorderCallback private constructor( - private val backingRecord: ArrayTrackRecord, - val logTag: String -) : NetworkCallback() { - public constructor(logTag: String = DEFAULT_TAG) : this(ArrayTrackRecord(), logTag) - protected constructor(src: RecorderCallback?, logTag: String) : this( - src?.backingRecord ?: ArrayTrackRecord(), - logTag - ) +private const val DEFAULT_TIMEOUT = 30_000L // ms +private const val DEFAULT_NO_CALLBACK_TIMEOUT = 200L // ms +private val NOOP = Runnable {} - sealed class CallbackEntry { +/** + * See comments on the public constructor below for a description of the arguments. + */ +open class TestableNetworkCallback private constructor( + src: TestableNetworkCallback?, + val defaultTimeoutMs: Long, + val defaultNoCallbackTimeoutMs: Long, + val waiterFunc: Runnable, + private val logTag: String +) : NetworkCallback() { + val backingRecord: ArrayTrackRecord = src?.backingRecord ?: ArrayTrackRecord() + val history: ArrayTrackRecord.ReadHead = backingRecord.newReadHead() + val mark get() = history.mark + + sealed class Event { // To get equals(), hashcode(), componentN() etc for free, the child classes of // this class are data classes. But while data classes can inherit from other classes, // they may only have visible members in the constructors, so they couldn't declare - // a constructor with a non-val arg to pass to CallbackEntry. Instead, force all + // a constructor with a non-val arg to pass to Event. Instead, force all // subclasses to implement a `network' property, which can be done in a data class // constructor by specifying override. abstract val network: Network data class Reserved private constructor( - override val network: Network, - val caps: NetworkCapabilities - ) : CallbackEntry() { + override val network: Network, + val caps: NetworkCapabilities + ) : Event() { constructor(caps: NetworkCapabilities) : this(NULL_NETWORK, caps) } - data class Available(override val network: Network) : CallbackEntry() + data class Available(override val network: Network) : Event() data class CapabilitiesChanged( override val network: Network, val caps: NetworkCapabilities - ) : CallbackEntry() + ) : Event() data class LinkPropertiesChanged( override val network: Network, val lp: LinkProperties - ) : CallbackEntry() + ) : Event() data class LocalInfoChanged( override val network: Network, val info: LocalNetworkInfo - ) : CallbackEntry() - data class Suspended(override val network: Network) : CallbackEntry() - data class Resumed(override val network: Network) : CallbackEntry() - data class Losing(override val network: Network, val maxMsToLive: Int) : CallbackEntry() - data class Lost(override val network: Network) : CallbackEntry() + ) : Event() + data class Suspended(override val network: Network) : Event() + data class Resumed(override val network: Network) : Event() + data class Losing(override val network: Network, val maxMsToLive: Int) : Event() + data class Lost(override val network: Network) : Event() data class Unavailable private constructor( override val network: Network - ) : CallbackEntry() { + ) : Event() { constructor() : this(NULL_NETWORK) } data class BlockedStatus( override val network: Network, val blocked: Boolean - ) : CallbackEntry() + ) : Event() data class BlockedStatusInt( override val network: Network, val reason: Int - ) : CallbackEntry() + ) : Event() // Convenience constants for expecting a type companion object { @@ -133,9 +141,6 @@ open class RecorderCallback private constructor( } } - val history = backingRecord.newReadHead() - val mark get() = history.mark - override fun onReserved(caps: NetworkCapabilities) { Log.d(logTag, "onReserved $caps") history.add(Reserved(caps)) @@ -196,22 +201,7 @@ open class RecorderCallback private constructor( Log.d(logTag, "onUnavailable") history.add(Unavailable()) } -} -private const val DEFAULT_TIMEOUT = 30_000L // ms -private const val DEFAULT_NO_CALLBACK_TIMEOUT = 200L // ms -private val NOOP = Runnable {} - -/** - * See comments on the public constructor below for a description of the arguments. - */ -open class TestableNetworkCallback private constructor( - src: TestableNetworkCallback?, - val defaultTimeoutMs: Long, - val defaultNoCallbackTimeoutMs: Long, - val waiterFunc: Runnable, - logTag: String -) : RecorderCallback(src, logTag) { /** * Construct a testable network callback. * @param timeoutMs the default timeout for expecting a callback. Default 30 seconds. This @@ -260,7 +250,7 @@ open class TestableNetworkCallback private constructor( * Long.MAX_VALUE. */ @JvmOverloads - fun poll(timeoutMs: Long = defaultTimeoutMs, predicate: (CallbackEntry) -> Boolean = { true }) = + fun poll(timeoutMs: Long = defaultTimeoutMs, predicate: (Event) -> Boolean = { true }) = history.poll(timeoutMs, predicate) /***** @@ -269,13 +259,13 @@ open class TestableNetworkCallback private constructor( * passed predicate. If no callback is received within the timeout, these methods fail. */ @JvmOverloads - fun expect( + fun expect( type: KClass, network: Network = ANY_NETWORK, timeoutMs: Long = defaultTimeoutMs, errorMsg: String? = null, test: (T) -> Boolean = { true } - ) = expect(network, timeoutMs, errorMsg) { + ) = expect(network, timeoutMs, errorMsg) { if (type.isInstance(it)) { test(it as T) // Cast can't fail since type.isInstance(it) and type: KClass } else { @@ -284,7 +274,7 @@ open class TestableNetworkCallback private constructor( } as T @JvmOverloads - fun expect( + fun expect( type: KClass, network: HasNetwork, timeoutMs: Long = defaultTimeoutMs, @@ -297,7 +287,7 @@ open class TestableNetworkCallback private constructor( // there is no need to explicitly define versions without the test predicate. // Without |network| @JvmOverloads - fun expect( + fun expect( type: KClass, timeoutMs: Long, errorMsg: String?, @@ -306,7 +296,7 @@ open class TestableNetworkCallback private constructor( // Without |timeout|, in Network and HasNetwork versions @JvmOverloads - fun expect( + fun expect( type: KClass, network: Network, errorMsg: String?, @@ -314,7 +304,7 @@ open class TestableNetworkCallback private constructor( ) = expect(type, network, defaultTimeoutMs, errorMsg, test) @JvmOverloads - fun expect( + fun expect( type: KClass, network: HasNetwork, errorMsg: String?, @@ -323,7 +313,7 @@ open class TestableNetworkCallback private constructor( // Without |errorMsg|, in Network and HasNetwork versions @JvmOverloads - fun expect( + fun expect( type: KClass, network: Network, timeoutMs: Long, @@ -331,7 +321,7 @@ open class TestableNetworkCallback private constructor( ) = expect(type, network, timeoutMs, null, test) @JvmOverloads - fun expect( + fun expect( type: KClass, network: HasNetwork, timeoutMs: Long, @@ -340,7 +330,7 @@ open class TestableNetworkCallback private constructor( // Without |network| or |timeout| @JvmOverloads - fun expect( + fun expect( type: KClass, errorMsg: String?, test: (T) -> Boolean = { true } @@ -348,7 +338,7 @@ open class TestableNetworkCallback private constructor( // Without |network| or |errorMsg| @JvmOverloads - fun expect( + fun expect( type: KClass, timeoutMs: Long, test: (T) -> Boolean = { true } @@ -356,14 +346,14 @@ open class TestableNetworkCallback private constructor( // Without |timeout| or |errorMsg|, in Network and HasNetwork versions @JvmOverloads - fun expect( + fun expect( type: KClass, network: Network, test: (T) -> Boolean ) = expect(type, network, defaultTimeoutMs, null, test) @JvmOverloads - fun expect( + fun expect( type: KClass, network: HasNetwork, test: (T) -> Boolean @@ -371,13 +361,13 @@ open class TestableNetworkCallback private constructor( // Without |network| or |timeout| or |errorMsg| @JvmOverloads - fun expect( + fun expect( type: KClass, test: (T) -> Boolean ) = expect(type, ANY_NETWORK, defaultTimeoutMs, null, test) // Kotlin reified versions. Don't call methods above, or the predicate would need to be noinline - inline fun expect( + inline fun expect( network: Network = ANY_NETWORK, timeoutMs: Long = defaultTimeoutMs, errorMsg: String? = null, @@ -399,7 +389,7 @@ open class TestableNetworkCallback private constructor( } } as T - inline fun expect( + inline fun expect( network: HasNetwork, timeoutMs: Long = defaultTimeoutMs, errorMsg: String? = null, @@ -415,13 +405,13 @@ open class TestableNetworkCallback private constructor( @JvmOverloads fun assertNoCallback( timeoutMs: Long = defaultNoCallbackTimeoutMs, - valid: (CallbackEntry) -> Boolean = { true } + valid: (Event) -> Boolean = { true } ) { waiterFunc.run() history.poll(timeoutMs) { valid(it) }?.let { fail("Expected no callback but got $it") } } - fun assertNoCallback(valid: (CallbackEntry) -> Boolean) = + fun assertNoCallback(valid: (Event) -> Boolean) = assertNoCallback(defaultNoCallbackTimeoutMs, valid) /***** @@ -430,7 +420,7 @@ open class TestableNetworkCallback private constructor( * Any callback of the wrong type, or doesn't match the optional predicate, is ignored. * They fail if no callback matching the predicate is received within the timeout. */ - inline fun eventuallyExpect( + inline fun eventuallyExpect( timeoutMs: Long = defaultTimeoutMs, from: Int = mark, crossinline predicate: (T) -> Boolean = { true } @@ -443,7 +433,7 @@ open class TestableNetworkCallback private constructor( } as T @JvmOverloads - fun eventuallyExpect( + fun eventuallyExpect( type: KClass, timeoutMs: Long = defaultTimeoutMs, predicate: (cb: T) -> Boolean = { true } @@ -455,7 +445,7 @@ open class TestableNetworkCallback private constructor( ) } as T - fun eventuallyExpect( + fun eventuallyExpect( type: KClass, timeoutMs: Long = defaultTimeoutMs, from: Int = mark, diff --git a/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkOfferCallback.kt b/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkOfferCallback.kt index 8228440f54..cd0143e318 100644 --- a/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkOfferCallback.kt +++ b/staticlibs/testutils/devicetests/com/android/testutils/TestableNetworkOfferCallback.kt @@ -31,12 +31,12 @@ class TestableNetworkOfferCallback( private val noCallbackTimeoutMs: Long = DEFAULT_NO_CALLBACK_TIMEOUT, ) : NetworkProvider.NetworkOfferCallback { private val TAG = this::class.simpleName - val history = ArrayTrackRecord().newReadHead() + val history = ArrayTrackRecord().newReadHead() val mark get() = history.mark - sealed class CallbackEntry { - data class Needed(val request: NetworkRequest) : CallbackEntry() - data class Unneeded(val request: NetworkRequest) : CallbackEntry() + sealed class Event { + data class Needed(val request: NetworkRequest) : Event() + data class Unneeded(val request: NetworkRequest) : Event() } /** @@ -45,7 +45,7 @@ class TestableNetworkOfferCallback( */ override fun onNetworkNeeded(request: NetworkRequest) { Log.d(TAG, "onNetworkNeeded $request") - history.add(CallbackEntry.Needed(request)) + history.add(Event.Needed(request)) } /** @@ -53,10 +53,10 @@ class TestableNetworkOfferCallback( */ override fun onNetworkUnneeded(request: NetworkRequest) { Log.d(TAG, "onNetworkUnneeded $request") - history.add(CallbackEntry.Unneeded(request)) + history.add(Event.Unneeded(request)) } - inline fun expect( + inline fun expect( errorMsg: String? = null, predicate: (T) -> Boolean = { true } ): T { @@ -76,11 +76,11 @@ class TestableNetworkOfferCallback( // TODO : remove when there are no callers @Deprecated("Use expect instead of expectCallbackThat") - inline fun expectCallbackThat( + inline fun expectCallbackThat( crossinline predicate: (T) -> Boolean ): T = expect(null, predicate) - inline fun eventuallyExpect( + inline fun eventuallyExpect( errorMsg: String? = null, from: Int = mark, crossinline predicate: (T) -> Boolean = { true } @@ -94,12 +94,12 @@ class TestableNetworkOfferCallback( } as T fun expectOnNetworkNeeded(capabilities: NetworkCapabilities) = - expectCallbackThat { + expectCallbackThat { it.request.canBeSatisfiedBy(capabilities) } fun expectOnNetworkUnneeded(capabilities: NetworkCapabilities) = - expectCallbackThat { + expectCallbackThat { it.request.canBeSatisfiedBy(capabilities) } diff --git a/tests/common/java/android/net/NetworkProviderTest.kt b/tests/common/java/android/net/NetworkProviderTest.kt index 0d35960057..ef1cbcc9b1 100644 --- a/tests/common/java/android/net/NetworkProviderTest.kt +++ b/tests/common/java/android/net/NetworkProviderTest.kt @@ -21,9 +21,9 @@ import android.content.Context import android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED import android.net.NetworkCapabilities.NET_CAPABILITY_TRUSTED import android.net.NetworkCapabilities.TRANSPORT_TEST -import android.net.NetworkProviderTest.TestNetworkCallback.CallbackEntry.OnUnavailable -import android.net.NetworkProviderTest.TestNetworkProvider.CallbackEntry.OnNetworkRequestWithdrawn -import android.net.NetworkProviderTest.TestNetworkProvider.CallbackEntry.OnNetworkRequested +import android.net.NetworkProviderTest.TestNetworkCallback.Event.OnUnavailable +import android.net.NetworkProviderTest.TestNetworkProvider.Event.OnNetworkRequestWithdrawn +import android.net.NetworkProviderTest.TestNetworkProvider.Event.OnNetworkRequested import android.os.Build import android.os.Handler import android.os.HandlerThread @@ -85,15 +85,15 @@ class NetworkProviderTest { private class TestNetworkProvider(context: Context, looper: Looper) : NetworkProvider(context, looper, PROVIDER_NAME) { private val TAG = this::class.simpleName - private val seenEvents = ArrayTrackRecord().newReadHead() + private val seenEvents = ArrayTrackRecord().newReadHead() - sealed class CallbackEntry { + sealed class Event { data class OnNetworkRequested( val request: NetworkRequest, val score: Int, val id: Int - ) : CallbackEntry() - data class OnNetworkRequestWithdrawn(val request: NetworkRequest) : CallbackEntry() + ) : Event() + data class OnNetworkRequestWithdrawn(val request: NetworkRequest) : Event() } override fun onNetworkRequested(request: NetworkRequest, score: Int, id: Int) { @@ -106,7 +106,7 @@ class NetworkProviderTest { seenEvents.add(OnNetworkRequestWithdrawn(request)) } - inline fun eventuallyExpectCallbackThat( + inline fun eventuallyExpectCallbackThat( crossinline predicate: (T) -> Boolean ) = seenEvents.poll(DEFAULT_TIMEOUT_MS) { it is T && predicate(it) } ?: fail("Did not receive callback after ${DEFAULT_TIMEOUT_MS}ms") @@ -356,16 +356,16 @@ class NetworkProviderTest { } private class TestNetworkCallback : ConnectivityManager.NetworkCallback() { - private val seenEvents = ArrayTrackRecord().newReadHead() - sealed class CallbackEntry { - object OnUnavailable : CallbackEntry() + private val seenEvents = ArrayTrackRecord().newReadHead() + sealed class Event { + object OnUnavailable : Event() } override fun onUnavailable() { seenEvents.add(OnUnavailable) } - inline fun expectCallback( + inline fun expectCallback( crossinline predicate: (T) -> Boolean ) = seenEvents.poll(DEFAULT_TIMEOUT_MS) { it is T && predicate(it) } } diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/VpnTest.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/VpnTest.java old mode 100755 new mode 100644 index 29e2ebb205..b6bceabb70 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/VpnTest.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/VpnTest.java @@ -19,8 +19,8 @@ package com.android.cts.net.hostside; import static android.Manifest.permission.MANAGE_TEST_NETWORKS; import static android.Manifest.permission.NETWORK_SETTINGS; import static android.Manifest.permission.READ_DEVICE_CONFIG; -import static android.Manifest.permission.WRITE_DEVICE_CONFIG; import static android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG; +import static android.Manifest.permission.WRITE_DEVICE_CONFIG; import static android.content.Context.RECEIVER_EXPORTED; import static android.content.pm.PackageManager.FEATURE_TELEPHONY; import static android.content.pm.PackageManager.FEATURE_WIFI; @@ -52,8 +52,8 @@ import static com.android.cts.net.hostside.VpnTest.TestSocketKeepaliveCallback.C import static com.android.cts.net.hostside.VpnTest.TestSocketKeepaliveCallback.CallbackType.ON_STARTED; import static com.android.cts.net.hostside.VpnTest.TestSocketKeepaliveCallback.CallbackType.ON_STOPPED; import static com.android.testutils.Cleanup.testAndCleanup; -import static com.android.testutils.RecorderCallback.CallbackEntry.BLOCKED_STATUS_INT; import static com.android.testutils.TestPermissionUtil.runAsShell; +import static com.android.testutils.TestableNetworkCallback.Event.BLOCKED_STATUS_INT; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -130,9 +130,8 @@ import com.android.testutils.AutoReleaseNetworkCallbackRule; import com.android.testutils.ConnectUtil; import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo; -import com.android.testutils.RecorderCallback; -import com.android.testutils.RecorderCallback.CallbackEntry; import com.android.testutils.TestableNetworkCallback; +import com.android.testutils.TestableNetworkCallback.Event; import org.junit.After; import org.junit.Before; @@ -886,14 +885,14 @@ public class VpnTest { private void expectUnderlyingNetworks(TestableNetworkCallback callback, @Nullable List expectUnderlyingNetworks) { - callback.eventuallyExpect(RecorderCallback.CallbackEntry.NETWORK_CAPS_UPDATED, + callback.eventuallyExpect(TestableNetworkCallback.Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, entry -> (Objects.equals(expectUnderlyingNetworks, entry.getCaps().getUnderlyingNetworks()))); } private void expectVpnNetwork(TestableNetworkCallback callback) { - callback.eventuallyExpect(RecorderCallback.CallbackEntry.NETWORK_CAPS_UPDATED, + callback.eventuallyExpect(TestableNetworkCallback.Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, entry -> entry.getCaps().hasTransport(TRANSPORT_VPN)); } @@ -1009,7 +1008,7 @@ public class VpnTest { registerDefaultNetworkCallback(myUidCallback); myUidCallback.expectAvailableCallbacks(defaultNetwork, false /* suspended */, true /* validated */, false /* blocked */, TIMEOUT_MS); - myUidCallback.expect(CallbackEntry.NETWORK_CAPS_UPDATED, defaultNetwork); + myUidCallback.expect(Event.NETWORK_CAPS_UPDATED, defaultNetwork); } FileDescriptor fd = openSocketFdInOtherApp(TEST_HOST, 80, TIMEOUT_MS); @@ -1030,7 +1029,7 @@ public class VpnTest { checkTrafficOnVpn(); final Network vpnNetwork = mCM.getActiveNetwork(); - myUidCallback.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, + myUidCallback.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, entry -> entry.getNetwork().equals(vpnNetwork) && entry.getCaps().hasCapability(NET_CAPABILITY_VALIDATED)); @@ -1065,8 +1064,8 @@ public class VpnTest { } private void assertNoCallbackExceptCapOrLpChange(TestableNetworkCallback callback) { - callback.assertNoCallback(c -> !(c instanceof CallbackEntry.CapabilitiesChanged - || c instanceof CallbackEntry.LinkPropertiesChanged)); + callback.assertNoCallback(c -> !(c instanceof Event.CapabilitiesChanged + || c instanceof Event.LinkPropertiesChanged)); } @Test @@ -1182,12 +1181,12 @@ public class VpnTest { final Network defaultNetwork = mCM.getActiveNetwork(); final TestableNetworkCallback cb = new TestableNetworkCallback(); registerDefaultNetworkCallback(cb); - cb.expect(CallbackEntry.AVAILABLE, defaultNetwork); + cb.expect(Event.AVAILABLE, defaultNetwork); final NetworkCapabilities cap = - cb.expect(CallbackEntry.NETWORK_CAPS_UPDATED, defaultNetwork).getCaps(); + cb.expect(Event.NETWORK_CAPS_UPDATED, defaultNetwork).getCaps(); final LinkProperties lp = - cb.expect(CallbackEntry.LINK_PROPERTIES_CHANGED, defaultNetwork).getLp(); - cb.expect(CallbackEntry.BLOCKED_STATUS, defaultNetwork); + cb.expect(Event.LINK_PROPERTIES_CHANGED, defaultNetwork).getLp(); + cb.expect(Event.BLOCKED_STATUS, defaultNetwork); // Setup VPN final FileDescriptor fd = openSocketFdInOtherApp(TEST_HOST, 80, TIMEOUT_MS); @@ -1932,7 +1931,7 @@ public class VpnTest { // The VPN will be the only default network for the app, so it's expected to receive // onLost() callback. - defaultNetworkCallback.eventuallyExpect(CallbackEntry.LOST); + defaultNetworkCallback.eventuallyExpect(Event.LOST); final ArrayList underlyingNetworks = new ArrayList<>(); underlyingNetworks.add(defaultNetwork); @@ -1944,14 +1943,14 @@ public class VpnTest { expectVpnNetwork(defaultNetworkCallback); }, /* cleanup */ () -> { stopVpn(); - defaultNetworkCallback.eventuallyExpect(CallbackEntry.LOST); + defaultNetworkCallback.eventuallyExpect(Event.LOST); }, /* cleanup */ () -> { runWithShellPermissionIdentity(() -> { mCM.setVpnDefaultForUids(session, new ArraySet<>()); }, NETWORK_SETTINGS); // The default network of the app will be changed back to wifi when the VPN network // preference feature is disabled. - defaultNetworkCallback.eventuallyExpect(CallbackEntry.AVAILABLE, + defaultNetworkCallback.eventuallyExpect(Event.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, entry -> defaultNetwork.equals(entry.getNetwork())); }); @@ -2133,7 +2132,7 @@ public class VpnTest { BLOCKED_REASON_NONE, NETWORK_CALLBACK_TIMEOUT_MS); } public void onBlockedStatusChanged(Network network, int blockedReasons) { - getHistory().add(new CallbackEntry.BlockedStatusInt(network, blockedReasons)); + getHistory().add(new Event.BlockedStatusInt(network, blockedReasons)); } } } diff --git a/tests/cts/multidevices/snippet/ConnectivityMultiDevicesSnippet.kt b/tests/cts/multidevices/snippet/ConnectivityMultiDevicesSnippet.kt index e1c6bf1874..3f3a6d34f0 100644 --- a/tests/cts/multidevices/snippet/ConnectivityMultiDevicesSnippet.kt +++ b/tests/cts/multidevices/snippet/ConnectivityMultiDevicesSnippet.kt @@ -41,8 +41,8 @@ import com.android.modules.utils.build.SdkLevel import com.android.testutils.AutoReleaseNetworkCallbackRule import com.android.testutils.ConnectUtil import com.android.testutils.NetworkCallbackHelper -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged import com.android.testutils.runAsShell import com.google.android.mobly.snippet.Snippet import com.google.android.mobly.snippet.rpc.Rpc diff --git a/tests/cts/net/src/android/net/cts/ApfIntegrationTest.kt b/tests/cts/net/src/android/net/cts/ApfIntegrationTest.kt index 033092f68f..58dedc2ad3 100644 --- a/tests/cts/net/src/android/net/cts/ApfIntegrationTest.kt +++ b/tests/cts/net/src/android/net/cts/ApfIntegrationTest.kt @@ -86,8 +86,8 @@ import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner import com.android.testutils.NetworkStackModuleTest -import com.android.testutils.RecorderCallback.CallbackEntry.Available -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.Available +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.SkipPresubmit import com.android.testutils.TestableNetworkCallback import com.android.testutils.pollingCheck diff --git a/tests/cts/net/src/android/net/cts/CaptivePortalTest.kt b/tests/cts/net/src/android/net/cts/CaptivePortalTest.kt index 1389be7757..460c21b9b9 100644 --- a/tests/cts/net/src/android/net/cts/CaptivePortalTest.kt +++ b/tests/cts/net/src/android/net/cts/CaptivePortalTest.kt @@ -48,7 +48,7 @@ import com.android.net.module.util.NetworkStackConstants.TEST_CAPTIVE_PORTAL_HTT import com.android.net.module.util.NetworkStackConstants.TEST_CAPTIVE_PORTAL_HTTP_URL import com.android.testutils.AutoReleaseNetworkCallbackRule import com.android.testutils.DeviceConfigRule -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged import com.android.testutils.SkipMainlinePresubmit import com.android.testutils.TestHttpServer import com.android.testutils.TestHttpServer.Request diff --git a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java index e86259e075..a758b57b6c 100644 --- a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java +++ b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java @@ -232,7 +232,7 @@ import com.android.testutils.DevSdkIgnoreRunner; import com.android.testutils.DeviceConfigRule; import com.android.testutils.DeviceInfoUtils; import com.android.testutils.DumpTestUtils; -import com.android.testutils.RecorderCallback.CallbackEntry; +import com.android.testutils.TestableNetworkCallback.Event; import com.android.testutils.SkipPresubmit; import com.android.testutils.TestHttpServer; import com.android.testutils.TestNetworkTracker; @@ -482,9 +482,9 @@ public class ConnectivityManagerTest { final TestableNetworkCallback callback = networkCallbackRule.registerDefaultNetworkCallback(); assertNotNull("Couldn't restore Internet connectivity", - callback.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, + callback.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, - entry -> ((CallbackEntry.CapabilitiesChanged) entry) + entry -> ((Event.CapabilitiesChanged) entry) .getCaps().hasCapability(NET_CAPABILITY_VALIDATED))); }); } @@ -656,7 +656,7 @@ public class ConnectivityManagerTest { // callbacks. This is guaranteed to succeed because the callback is registered // before getAllNetworkStateSnapshots is called. final LinkProperties lpFromSnapshot = snapshot.getLinkProperties(); - allNetworkLinkPropertiesListener.eventuallyExpect(CallbackEntry.LINK_PROPERTIES_CHANGED, + allNetworkLinkPropertiesListener.eventuallyExpect(Event.LINK_PROPERTIES_CHANGED, NETWORK_CALLBACK_TIMEOUT_MS, 0 /* mark */, entry -> entry.getNetwork().equals(network) && entry.getLp().equals(lpFromSnapshot)); @@ -1134,9 +1134,9 @@ public class ConnectivityManagerTest { .build(); } - private boolean hasPrivateDnsValidated(CallbackEntry entry, Network networkForPrivateDns) { + private boolean hasPrivateDnsValidated(Event entry, Network networkForPrivateDns) { if (!networkForPrivateDns.equals(entry.getNetwork())) return false; - final NetworkCapabilities nc = ((CallbackEntry.CapabilitiesChanged) entry).getCaps(); + final NetworkCapabilities nc = ((Event.CapabilitiesChanged) entry).getCaps(); return !nc.isPrivateDnsBroken() && nc.hasCapability(NET_CAPABILITY_VALIDATED); } @@ -1154,13 +1154,13 @@ public class ConnectivityManagerTest { try { // Verifying the good private DNS sever mCtsNetUtils.setPrivateDnsStrictMode(goodPrivateDnsServer); - cb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, + cb.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, entry -> hasPrivateDnsValidated(entry, networkForPrivateDns)); // Verifying the broken private DNS sever mCtsNetUtils.setPrivateDnsStrictMode(invalidPrivateDnsServer); - cb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, - entry -> (((CallbackEntry.CapabilitiesChanged) entry).getCaps() + cb.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, + entry -> (((Event.CapabilitiesChanged) entry).getCaps() .isPrivateDnsBroken()) && networkForPrivateDns.equals(entry.getNetwork())); } finally { mCtsNetUtils.restorePrivateDnsSetting(); @@ -1215,22 +1215,22 @@ public class ConnectivityManagerTest { // Now we should expect to get a network callback about availability of the wifi // network even if it was already connected as a state-based action when the callback // is registered. - wifiNetwork = callback.eventuallyExpect(CallbackEntry.AVAILABLE).getNetwork(); + wifiNetwork = callback.eventuallyExpect(Event.AVAILABLE).getNetwork(); assertNotNull("Did not receive onAvailable for TRANSPORT_WIFI request", wifiNetwork); final Network defaultNetwork = defaultTrackingCallback.eventuallyExpect( - CallbackEntry.AVAILABLE).getNetwork(); + Event.AVAILABLE).getNetwork(); assertNotNull("Did not receive onAvailable on default network callback", defaultNetwork); if (TestUtils.shouldTestSApis()) { - systemDefaultCallback.eventuallyExpect(CallbackEntry.AVAILABLE); - final Network perUidNetwork = perUidCallback.eventuallyExpect(CallbackEntry.AVAILABLE) + systemDefaultCallback.eventuallyExpect(Event.AVAILABLE); + final Network perUidNetwork = perUidCallback.eventuallyExpect(Event.AVAILABLE) .getNetwork(); assertEquals(defaultNetwork, perUidNetwork); final Network bestMatchingNetwork = bestMatchingCallback.eventuallyExpect( - CallbackEntry.AVAILABLE).getNetwork(); + Event.AVAILABLE).getNetwork(); assertEquals(defaultNetwork, bestMatchingNetwork); } } @@ -1460,7 +1460,7 @@ public class ConnectivityManagerTest { .build()); // Wait to get callback for availability of internet - callback.eventuallyExpect(CallbackEntry.AVAILABLE).getNetwork(); + callback.eventuallyExpect(Event.AVAILABLE).getNetwork(); } /** @@ -1484,7 +1484,7 @@ public class ConnectivityManagerTest { 100 /* timeoutMs */); try { // Wait to get callback for unavailability of requested network - callback.eventuallyExpect(CallbackEntry.UNAVAILABLE, 2_000 /* timeoutMs */); + callback.eventuallyExpect(Event.UNAVAILABLE, 2_000 /* timeoutMs */); } finally { if (previousWifiEnabledState) { mCtsNetUtils.connectToWifi(); @@ -1602,7 +1602,7 @@ public class ConnectivityManagerTest { } return networkCallback.eventuallyExpect( - CallbackEntry.NETWORK_CAPS_UPDATED, + Event.NETWORK_CAPS_UPDATED, // Changing meteredness on wifi involves reconnecting, which can take several // seconds (involves re-associating, DHCP...). NETWORK_CALLBACK_TIMEOUT_MS, @@ -2276,10 +2276,10 @@ public class ConnectivityManagerTest { try (Socket socket = new Socket()) { // Verify that the network is restricted. - testNetworkCb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, + testNetworkCb.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, entry -> network.equals(entry.getNetwork()) - && (!((CallbackEntry.CapabilitiesChanged) entry).getCaps() + && (!((Event.CapabilitiesChanged) entry).getCaps() .hasCapability(NET_CAPABILITY_NOT_RESTRICTED))); // CtsNetTestCases package doesn't hold CONNECTIVITY_USE_RESTRICTED_NETWORKS, so it // does not allow to bind socket to restricted network. @@ -2397,7 +2397,7 @@ public class ConnectivityManagerTest { } if (supportTelephony) { telephonyCb.eventuallyExpect( - CallbackEntry.AVAILABLE, CELL_DATA_AVAILABLE_TIMEOUT_MS); + Event.AVAILABLE, CELL_DATA_AVAILABLE_TIMEOUT_MS); } } finally { // Restore the previous state of airplane mode and permissions: @@ -2413,16 +2413,16 @@ public class ConnectivityManagerTest { waitForAvailable(cb); } - private CallbackEntry.Available waitForAvailable(@NonNull final TestableNetworkCallback cb) { - return cb.eventuallyExpect(CallbackEntry.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, - c -> c instanceof CallbackEntry.Available); + private Event.Available waitForAvailable(@NonNull final TestableNetworkCallback cb) { + return cb.eventuallyExpect(Event.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, + c -> c instanceof Event.Available); } private void waitForTransport( @NonNull final TestableNetworkCallback cb, final int expectedTransport) { - cb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, + cb.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, - entry -> ((CallbackEntry.CapabilitiesChanged) entry).getCaps() + entry -> ((Event.CapabilitiesChanged) entry).getCaps() .hasTransport(expectedTransport)); } @@ -2434,8 +2434,8 @@ public class ConnectivityManagerTest { } private void waitForLost(@NonNull final TestableNetworkCallback cb) { - cb.eventuallyExpect(CallbackEntry.LOST, NETWORK_CALLBACK_TIMEOUT_MS, - c -> c instanceof CallbackEntry.Lost); + cb.eventuallyExpect(Event.LOST, NETWORK_CALLBACK_TIMEOUT_MS, + c -> c instanceof Event.Lost); } private void setAndVerifyAirplaneMode(Boolean expectedResult) @@ -2522,7 +2522,7 @@ public class ConnectivityManagerTest { // Registering a callback here guarantees onCapabilitiesChanged is called immediately // because WiFi network should be connected. final NetworkCapabilities nc = callback.eventuallyExpect( - CallbackEntry.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS).getCaps(); + Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS).getCaps(); // Verify if ssid is contained in the NetworkCapabilities received from callback. assertEquals(hasSsid, Pattern.compile(ssid).matcher(nc.toString()).find()); } @@ -2588,10 +2588,10 @@ public class ConnectivityManagerTest { // non-listen requests will get available callback before it can be put into // background if no foreground request can be satisfied. Thus, wait for a short // period is needed to let foreground capability go away. - callback.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, + callback.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, - c -> c instanceof CallbackEntry.CapabilitiesChanged - && !((CallbackEntry.CapabilitiesChanged) c).getCaps() + c -> c instanceof Event.CapabilitiesChanged + && !((Event.CapabilitiesChanged) c).getCaps() .hasCapability(NET_CAPABILITY_FOREGROUND)); final NetworkCapabilities nc = mCm.getNetworkCapabilities(testNetwork); assertFalse("expected background network, but got " + nc, @@ -2601,7 +2601,7 @@ public class ConnectivityManagerTest { runWithShellPermissionIdentity(() -> { if (null != n) { tnm.teardownTestNetwork(n); - callback.eventuallyExpect(CallbackEntry.LOST, + callback.eventuallyExpect(Event.LOST, NETWORK_CALLBACK_TIMEOUT_MS, lost -> n.equals(lost.getNetwork())); } @@ -2616,16 +2616,16 @@ public class ConnectivityManagerTest { BLOCKED_REASON_NONE, NETWORK_CALLBACK_TIMEOUT_MS); } public void eventuallyExpectBlockedStatusCallback(Network network, int blockedStatus) { - super.eventuallyExpect(CallbackEntry.BLOCKED_STATUS_INT, NETWORK_CALLBACK_TIMEOUT_MS, + super.eventuallyExpect(Event.BLOCKED_STATUS_INT, NETWORK_CALLBACK_TIMEOUT_MS, (it) -> it.getNetwork().equals(network) && it.getReason() == blockedStatus); } public void onBlockedStatusChanged(Network network, int blockedReasons) { Log.v(TAG, "onBlockedStatusChanged " + network + " " + blockedReasons); - getHistory().add(new CallbackEntry.BlockedStatusInt(network, blockedReasons)); + getHistory().add(new Event.BlockedStatusInt(network, blockedReasons)); } private void assertNoBlockedStatusCallback() { super.assertNoCallback(NO_CALLBACK_TIMEOUT_MS, - c -> c instanceof CallbackEntry.BlockedStatus); + c -> c instanceof Event.BlockedStatus); } } @@ -2671,7 +2671,7 @@ public class ConnectivityManagerTest { () -> networkCallbackRule.registerDefaultNetworkCallbackForUid( otherUid, otherUidCallback, handler), NETWORK_SETTINGS); - final Network defaultNetwork = myUidCallback.expect(CallbackEntry.AVAILABLE).getNetwork(); + final Network defaultNetwork = myUidCallback.expect(Event.AVAILABLE).getNetwork(); final List allCallbacks = List.of(myUidCallback, otherUidCallback); for (DetailedBlockedStatusCallback callback : allCallbacks) { @@ -2918,14 +2918,14 @@ public class ConnectivityManagerTest { // Validate that an unmetered network is used over other networks. waitForAvailable(defaultCallback, wifiNetwork); - systemDefaultCallback.eventuallyExpect(CallbackEntry.AVAILABLE, + systemDefaultCallback.eventuallyExpect(Event.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, cb -> wifiNetwork.equals(cb.getNetwork())); // Validate that when setting unmetered to metered, unmetered is lost and replaced by // the network with the TEST transport. Also wait for validation here, in case there // is a bug that's only visible when the network is validated. setWifiMeteredStatusAndWait(ssid, true /* isMetered */, true /* waitForValidation */); - defaultCallback.eventuallyExpect(CallbackEntry.LOST, NETWORK_CALLBACK_TIMEOUT_MS, + defaultCallback.eventuallyExpect(Event.LOST, NETWORK_CALLBACK_TIMEOUT_MS, l -> l.getNetwork().equals(wifiNetwork)); waitForAvailable(defaultCallback, tnt.getNetwork()); // Depending on if this device has cellular connectivity or not, multiple available @@ -2938,7 +2938,7 @@ public class ConnectivityManagerTest { runWithShellPermissionIdentity(tnt::teardown); // The other callbacks (LP or NC changes) would receive before LOST callback. Use // eventuallyExpect to check callback for avoiding test flake. - defaultCallback.eventuallyExpect(CallbackEntry.LOST, NETWORK_CALLBACK_TIMEOUT_MS, + defaultCallback.eventuallyExpect(Event.LOST, NETWORK_CALLBACK_TIMEOUT_MS, lost -> tnt.getNetwork().equals(lost.getNetwork())); waitForAvailable(defaultCallback); }, /* cleanup */ () -> { @@ -2974,11 +2974,11 @@ public class ConnectivityManagerTest { OemNetworkPreferences.OEM_NETWORK_PREFERENCE_TEST_ONLY); registerTestOemNetworkPreferenceCallbacks(defaultCallback, systemDefaultCallback); waitForAvailable(defaultCallback, testNetwork); - systemDefaultCallback.eventuallyExpect(CallbackEntry.AVAILABLE, + systemDefaultCallback.eventuallyExpect(Event.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, cb -> wifiNetwork.equals(cb.getNetwork())); }, /* cleanup */ () -> { runWithShellPermissionIdentity(tnt::teardown); - defaultCallback.eventuallyExpect(CallbackEntry.LOST, NETWORK_CALLBACK_TIMEOUT_MS, + defaultCallback.eventuallyExpect(Event.LOST, NETWORK_CALLBACK_TIMEOUT_MS, cb -> testNetwork.equals(cb.getNetwork())); // This network preference should only ever use the test network therefore available @@ -3128,7 +3128,7 @@ public class ConnectivityManagerTest { mCm.setAcceptPartialConnectivity(network, false /* accept */, false /* always */); }); // Reject partial connectivity network should cause the network being torn down - assertEquals(network, cb.eventuallyExpect(CallbackEntry.LOST).getNetwork()); + assertEquals(network, cb.eventuallyExpect(Event.LOST).getNetwork()); } finally { mHttpServer.stop(); // Wifi will not automatically reconnect to the network. ensureWifiDisconnected cannot @@ -3213,9 +3213,9 @@ public class ConnectivityManagerTest { makeWifiNetworkRequest()); // Verify wifi is the default network. - defaultCb.eventuallyExpect(CallbackEntry.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, + defaultCb.eventuallyExpect(Event.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, entry -> wifiNetwork.equals(entry.getNetwork())); - wifiCb.eventuallyExpect(CallbackEntry.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, + wifiCb.eventuallyExpect(Event.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, entry -> wifiNetwork.equals(entry.getNetwork())); assertTrue(mCm.getNetworkCapabilities(wifiNetwork).hasCapability( NET_CAPABILITY_VALIDATED)); @@ -3225,20 +3225,20 @@ public class ConnectivityManagerTest { configTestServer(Status.INTERNAL_ERROR, Status.INTERNAL_ERROR); mCm.reportNetworkConnectivity(wifiNetwork, false); // Default network should stay on unvalidated wifi because avoid bad wifi is disabled. - defaultCb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, + defaultCb.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, - entry -> !((CallbackEntry.CapabilitiesChanged) entry).getCaps() + entry -> !((Event.CapabilitiesChanged) entry).getCaps() .hasCapability(NET_CAPABILITY_VALIDATED)); - wifiCb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, + wifiCb.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, - entry -> !((CallbackEntry.CapabilitiesChanged) entry).getCaps() + entry -> !((Event.CapabilitiesChanged) entry).getCaps() .hasCapability(NET_CAPABILITY_VALIDATED)); runAsShell(NETWORK_SETTINGS, () -> { mCm.setAvoidUnvalidated(wifiNetwork); }); // Default network should be updated to validated cellular network. - defaultCb.eventuallyExpect(CallbackEntry.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, + defaultCb.eventuallyExpect(Event.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, entry -> cellNetwork.equals(entry.getNetwork())); // The network should not validate again. wifiCb.assertNoCallback(NO_CALLBACK_TIMEOUT_MS, c -> isValidatedCaps(c)); @@ -3249,9 +3249,9 @@ public class ConnectivityManagerTest { } } - private boolean isValidatedCaps(CallbackEntry c) { - if (!(c instanceof CallbackEntry.CapabilitiesChanged)) return false; - final CallbackEntry.CapabilitiesChanged capsChanged = (CallbackEntry.CapabilitiesChanged) c; + private boolean isValidatedCaps(Event c) { + if (!(c instanceof Event.CapabilitiesChanged)) return false; + final Event.CapabilitiesChanged capsChanged = (Event.CapabilitiesChanged) c; return capsChanged.getCaps().hasCapability(NET_CAPABILITY_VALIDATED); } @@ -3275,7 +3275,7 @@ public class ConnectivityManagerTest { private Network expectNetworkHasCapability(Network network, int expectedNetCap, long timeout) { return networkCallbackRule.registerNetworkCallback(new NetworkRequest.Builder().build()) - .eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, timeout, + .eventuallyExpect(Event.NETWORK_CAPS_UPDATED, timeout, cb -> cb.getNetwork().equals(network) && cb.getCaps().hasCapability(expectedNetCap)).getNetwork(); } @@ -3406,8 +3406,8 @@ public class ConnectivityManagerTest { private void assertNoCallbackExceptCapOrLpChange( @NonNull final TestableNetworkCallback cb) { cb.assertNoCallback(NO_CALLBACK_TIMEOUT_MS, - c -> !(c instanceof CallbackEntry.CapabilitiesChanged - || c instanceof CallbackEntry.LinkPropertiesChanged)); + c -> !(c instanceof Event.CapabilitiesChanged + || c instanceof Event.LinkPropertiesChanged)); } @AppModeFull(reason = "Cannot get WifiManager in instant app mode") @@ -3456,7 +3456,7 @@ public class ConnectivityManagerTest { newMobileDataPreferredUids.add(uid); ConnectivitySettingsManager.setMobileDataPreferredUids( mContext, newMobileDataPreferredUids); - defaultTrackingCb.eventuallyExpect(CallbackEntry.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, + defaultTrackingCb.eventuallyExpect(Event.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, entry -> cellNetwork.equals(entry.getNetwork())); // No change for system default network. Expect no callback except CapabilitiesChanged // or LinkPropertiesChanged which may be triggered randomly from wifi network. @@ -3469,7 +3469,7 @@ public class ConnectivityManagerTest { newMobileDataPreferredUids.remove(uid); ConnectivitySettingsManager.setMobileDataPreferredUids( mContext, newMobileDataPreferredUids); - defaultTrackingCb.eventuallyExpect(CallbackEntry.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, + defaultTrackingCb.eventuallyExpect(Event.AVAILABLE, NETWORK_CALLBACK_TIMEOUT_MS, entry -> wifiNetwork.equals(entry.getNetwork())); // No change for system default network. Expect no callback except CapabilitiesChanged // or LinkPropertiesChanged which may be triggered randomly from wifi network. @@ -3572,10 +3572,10 @@ public class ConnectivityManagerTest { try (Socket socket = new Socket()) { // Verify that the network is restricted. - testNetworkCb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, + testNetworkCb.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, entry -> network.equals(entry.getNetwork()) - && (!((CallbackEntry.CapabilitiesChanged) entry).getCaps() + && (!((Event.CapabilitiesChanged) entry).getCaps() .hasCapability(NET_CAPABILITY_NOT_RESTRICTED))); // CtsNetTestCases package doesn't hold CONNECTIVITY_USE_RESTRICTED_NETWORKS, so it // does not allow to bind socket to restricted network. @@ -3596,10 +3596,10 @@ public class ConnectivityManagerTest { // Uid is in allowed list. Try file network request again. networkCallbackRule.requestNetwork(restrictedRequest, restrictedNetworkCb); // Verify that the network is restricted. - restrictedNetworkCb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, + restrictedNetworkCb.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS, entry -> network.equals(entry.getNetwork()) - && (!((CallbackEntry.CapabilitiesChanged) entry).getCaps() + && (!((Event.CapabilitiesChanged) entry).getCaps() .hasCapability(NET_CAPABILITY_NOT_RESTRICTED))); } } finally { @@ -4036,7 +4036,7 @@ public class ConnectivityManagerTest { final DetailedBlockedStatusCallback cb = new DetailedBlockedStatusCallback(); networkCallbackRule.registerDefaultNetworkCallback(cb); - final Network network = cb.expect(CallbackEntry.AVAILABLE).getNetwork(); + final Network network = cb.expect(Event.AVAILABLE).getNetwork(); testAndCleanup(() -> { // Disable chain and set RULE_DENY on target chain runWithShellPermissionIdentity(() -> { @@ -4086,7 +4086,7 @@ public class ConnectivityManagerTest { final DetailedBlockedStatusCallback cb = new DetailedBlockedStatusCallback(); networkCallbackRule.registerDefaultNetworkCallback(cb); - final Network network = cb.expect(CallbackEntry.AVAILABLE).getNetwork(); + final Network network = cb.expect(Event.AVAILABLE).getNetwork(); testAndCleanup(() -> { cb.eventuallyExpectBlockedStatusCallback(network, BLOCKED_REASON_NONE); diff --git a/tests/cts/net/src/android/net/cts/DnsResolverTapTest.kt b/tests/cts/net/src/android/net/cts/DnsResolverTapTest.kt index 172885dfcf..85ada4d3b4 100644 --- a/tests/cts/net/src/android/net/cts/DnsResolverTapTest.kt +++ b/tests/cts/net/src/android/net/cts/DnsResolverTapTest.kt @@ -39,7 +39,7 @@ import com.android.testutils.DeviceConfigRule import com.android.testutils.DnsResolverModuleTest import com.android.testutils.IPv6UdpFilter import com.android.testutils.NdResponder -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.TapPacketReaderRule import com.android.testutils.TestableNetworkAgent import com.android.testutils.TestDnsPacket diff --git a/tests/cts/net/src/android/net/cts/DnsResolverTest.java b/tests/cts/net/src/android/net/cts/DnsResolverTest.java index 28c25c0583..f3b53c687d 100644 --- a/tests/cts/net/src/android/net/cts/DnsResolverTest.java +++ b/tests/cts/net/src/android/net/cts/DnsResolverTest.java @@ -63,7 +63,7 @@ import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo; import com.android.testutils.DeviceConfigRule; import com.android.testutils.DnsResolverModuleTest; -import com.android.testutils.RecorderCallback.CallbackEntry; +import com.android.testutils.TestableNetworkCallback.Event; import com.android.testutils.SkipPresubmit; import com.android.testutils.TestableNetworkCallback; @@ -194,7 +194,7 @@ public class DnsResolverTest { private Network getDefaultNetwork() { final TestableNetworkCallback cb = callbackRule.registerDefaultNetworkCallback(); return testAndCleanup( - () -> cb.eventuallyExpect(CallbackEntry.AVAILABLE, TIMEOUT_MS).getNetwork(), + () -> cb.eventuallyExpect(Event.AVAILABLE, TIMEOUT_MS).getNetwork(), () -> callbackRule.unregisterNetworkCallback(cb)); } diff --git a/tests/cts/net/src/android/net/cts/DscpPolicyTest.kt b/tests/cts/net/src/android/net/cts/DscpPolicyTest.kt index 3409ecc1a8..a058ba9cd6 100644 --- a/tests/cts/net/src/android/net/cts/DscpPolicyTest.kt +++ b/tests/cts/net/src/android/net/cts/DscpPolicyTest.kt @@ -76,8 +76,8 @@ import com.android.testutils.NdResponder import com.android.testutils.PollPacketReader import com.android.testutils.SC_V2 import com.android.testutils.TestableNetworkAgent -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnDscpPolicyStatusUpdated -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnNetworkCreated +import com.android.testutils.TestableNetworkAgent.Event.OnDscpPolicyStatusUpdated +import com.android.testutils.TestableNetworkAgent.Event.OnNetworkCreated import com.android.testutils.TestableNetworkCallback import com.android.testutils.assertParcelingIsLossless import com.android.testutils.runAsShell diff --git a/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt b/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt index 9065b4e1f9..a2d58ebf60 100644 --- a/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt +++ b/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt @@ -52,8 +52,8 @@ import android.net.StaticIpConfiguration import android.net.TestNetworkInterface import android.net.TestNetworkManager import android.net.TestNetworkManager.TestInterfaceRequest -import android.net.cts.EthernetManagerTest.EthernetStateListener.CallbackEntry.EthernetStateChanged -import android.net.cts.EthernetManagerTest.EthernetStateListener.CallbackEntry.InterfaceStateChanged +import android.net.cts.EthernetManagerTest.EthernetStateListener.Event.EthernetStateChanged +import android.net.cts.EthernetManagerTest.EthernetStateListener.Event.InterfaceStateChanged import android.os.Build import android.os.Handler import android.os.Looper @@ -69,10 +69,10 @@ import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRunner import com.android.testutils.DeviceInfoUtils.isKernelVersionAtLeast import com.android.testutils.NdResponder -import com.android.testutils.RecorderCallback.CallbackEntry.Available -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.Lost +import com.android.testutils.TestableNetworkCallback.Event.Available +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.Lost import com.android.testutils.PollPacketReader import com.android.testutils.TestableNetworkCallback import com.android.testutils.assertThrows @@ -208,20 +208,20 @@ class EthernetManagerTest { } private open class EthernetStateListener private constructor( - private val history: ArrayTrackRecord + private val history: ArrayTrackRecord ) : InterfaceStateListener, IntConsumer, - TrackRecord by history { + TrackRecord by history { constructor() : this(ArrayTrackRecord()) val events = history.newReadHead() - sealed class CallbackEntry { + sealed class Event { data class InterfaceStateChanged( val iface: String, val state: Int, val role: Int, val configuration: IpConfiguration? - ) : CallbackEntry() { + ) : Event() { override fun toString(): String { val stateString = when (state) { STATE_ABSENT -> "STATE_ABSENT" @@ -240,7 +240,7 @@ class EthernetManagerTest { } } - data class EthernetStateChanged(val state: Int) : CallbackEntry() { + data class EthernetStateChanged(val state: Int) : Event() { override fun toString(): String { val stateString = when (state) { ETHERNET_STATE_ENABLED -> "ETHERNET_STATE_ENABLED" @@ -265,7 +265,7 @@ class EthernetManagerTest { add(EthernetStateChanged(state)) } - fun expectCallback(expected: T): T { + fun expectCallback(expected: T): T { val event = events.poll(TIMEOUT_MS) assertEquals(expected, event) return event as T @@ -283,7 +283,7 @@ class EthernetManagerTest { InterfaceStateChanged(iface, state, role, if (state != STATE_ABSENT) DEFAULT_IP_CONFIGURATION else null) - fun eventuallyExpect(expected: CallbackEntry) { + fun eventuallyExpect(expected: Event) { val cb = events.poll(TIMEOUT_MS) { it == expected } assertNotNull(cb, "Never received expected $expected. Received: ${events.backtrace()}") } diff --git a/tests/cts/net/src/android/net/cts/Ikev2VpnTest.java b/tests/cts/net/src/android/net/cts/Ikev2VpnTest.java index 493cb078c7..86363969ee 100644 --- a/tests/cts/net/src/android/net/cts/Ikev2VpnTest.java +++ b/tests/cts/net/src/android/net/cts/Ikev2VpnTest.java @@ -67,8 +67,8 @@ import com.android.networkstack.apishim.common.VpnProfileStateShim; import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo; import com.android.testutils.DevSdkIgnoreRunner; -import com.android.testutils.RecorderCallback.CallbackEntry; import com.android.testutils.TestableNetworkCallback; +import com.android.testutils.TestableNetworkCallback.Event; import org.bouncycastle.x509.X509V1CertificateGenerator; import org.junit.After; @@ -565,7 +565,7 @@ public class Ikev2VpnTest { HexDump.hexStringToByteArray(authResp)); // Verify the VPN network came up - final Network vpnNetwork = cb.expect(CallbackEntry.AVAILABLE).getNetwork(); + final Network vpnNetwork = cb.expect(Event.AVAILABLE).getNetwork(); if (testSessionKey) { final VpnProfileStateShim profileState = mVmShim.getProvisionedVpnProfileState(); @@ -579,8 +579,8 @@ public class Ikev2VpnTest { && c.hasCapability(NET_CAPABILITY_INTERNET) && !c.hasCapability(NET_CAPABILITY_VALIDATED) && Process.myUid() == c.getOwnerUid()); - cb.expect(CallbackEntry.LINK_PROPERTIES_CHANGED, vpnNetwork); - cb.expect(CallbackEntry.BLOCKED_STATUS, vpnNetwork); + cb.expect(Event.LINK_PROPERTIES_CHANGED, vpnNetwork); + cb.expect(Event.BLOCKED_STATUS, vpnNetwork); // A VPN that requires validation is initially not validated, while one that doesn't // immediately validate automatically. Because this VPN can't actually access Internet, @@ -592,15 +592,15 @@ public class Ikev2VpnTest { // misuse VPN network itself as the underlying network. The fix is not available without // SDK > T platform. Thus, verify this only on T+ platform. if (!requiresValidation && isAtLeastT()) { - cb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, TIMEOUT_MS, - entry -> ((CallbackEntry.CapabilitiesChanged) entry).getCaps() + cb.eventuallyExpect(Event.NETWORK_CAPS_UPDATED, TIMEOUT_MS, + entry -> ((Event.CapabilitiesChanged) entry).getCaps() .hasCapability(NET_CAPABILITY_VALIDATED)); } sVpnMgr.stopProvisionedVpnProfile(); // Using expectCallback may cause the test to be flaky since test may receive other // callbacks such as linkproperties change. - cb.eventuallyExpect(CallbackEntry.LOST, TIMEOUT_MS, + cb.eventuallyExpect(Event.LOST, TIMEOUT_MS, lost -> vpnNetwork.equals(lost.getNetwork())); } diff --git a/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt b/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt index 8a541ed270..52bd0c7d91 100644 --- a/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt +++ b/tests/cts/net/src/android/net/cts/NetworkAgentTest.kt @@ -75,9 +75,9 @@ import android.net.TransportInfo import android.net.Uri import android.net.VpnManager import android.net.VpnTransportInfo -import android.net.cts.NetworkAgentTest.TestableQosCallback.CallbackEntry.OnError -import android.net.cts.NetworkAgentTest.TestableQosCallback.CallbackEntry.OnQosSessionAvailable -import android.net.cts.NetworkAgentTest.TestableQosCallback.CallbackEntry.OnQosSessionLost +import android.net.cts.NetworkAgentTest.TestableQosCallback.Event.OnError +import android.net.cts.NetworkAgentTest.TestableQosCallback.Event.OnQosSessionAvailable +import android.net.cts.NetworkAgentTest.TestableQosCallback.Event.OnQosSessionLost import android.net.wifi.WifiInfo import android.os.Build import android.os.Handler @@ -111,27 +111,27 @@ import com.android.testutils.ConnectivityModuleTest import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner import com.android.testutils.PollPacketReader -import com.android.testutils.RecorderCallback.CallbackEntry.Available -import com.android.testutils.RecorderCallback.CallbackEntry.BlockedStatus -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.Losing -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkAgent -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnAddKeepalivePacketFilter -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnAutomaticReconnectDisabled -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnBandwidthUpdateRequested -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnNetworkCreated -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnNetworkDestroyed -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnNetworkUnwanted -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnRegisterQosCallback -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnRemoveKeepalivePacketFilter -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnSaveAcceptUnvalidated -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnStartSocketKeepalive -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnStopSocketKeepalive -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnUnregisterQosCallback -import com.android.testutils.TestableNetworkAgent.CallbackEntry.OnValidationStatus +import com.android.testutils.TestableNetworkAgent.Event.OnAddKeepalivePacketFilter +import com.android.testutils.TestableNetworkAgent.Event.OnAutomaticReconnectDisabled +import com.android.testutils.TestableNetworkAgent.Event.OnBandwidthUpdateRequested +import com.android.testutils.TestableNetworkAgent.Event.OnNetworkCreated +import com.android.testutils.TestableNetworkAgent.Event.OnNetworkDestroyed +import com.android.testutils.TestableNetworkAgent.Event.OnNetworkUnwanted +import com.android.testutils.TestableNetworkAgent.Event.OnRegisterQosCallback +import com.android.testutils.TestableNetworkAgent.Event.OnRemoveKeepalivePacketFilter +import com.android.testutils.TestableNetworkAgent.Event.OnSaveAcceptUnvalidated +import com.android.testutils.TestableNetworkAgent.Event.OnStartSocketKeepalive +import com.android.testutils.TestableNetworkAgent.Event.OnStopSocketKeepalive +import com.android.testutils.TestableNetworkAgent.Event.OnUnregisterQosCallback +import com.android.testutils.TestableNetworkAgent.Event.OnValidationStatus import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Available +import com.android.testutils.TestableNetworkCallback.Event.BlockedStatus +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.Losing +import com.android.testutils.TestableNetworkCallback.Event.Lost import com.android.testutils.assertThrows import com.android.testutils.com.android.testutils.CarrierConfigRule import com.android.testutils.runAsShell @@ -1310,13 +1310,13 @@ class NetworkAgentTest { } private class TestableQosCallback : QosCallback() { - val history = ArrayTrackRecord().newReadHead() + val history = ArrayTrackRecord().newReadHead() - sealed class CallbackEntry { + sealed class Event { data class OnQosSessionAvailable(val sess: QosSession, val attr: QosSessionAttributes) : - CallbackEntry() - data class OnQosSessionLost(val sess: QosSession) : CallbackEntry() - data class OnError(val ex: QosCallbackException) : CallbackEntry() + Event() + data class OnQosSessionLost(val sess: QosSession) : Event() + data class OnError(val ex: QosCallbackException) : Event() } override fun onQosSessionAvailable(sess: QosSession, attr: QosSessionAttributes) { @@ -1331,13 +1331,13 @@ class NetworkAgentTest { history.add(OnError(ex)) } - inline fun expectCallback(): T { + inline fun expectCallback(): T { val foundCallback = history.poll(DEFAULT_TIMEOUT_MS) assertTrue(foundCallback is T, "Expected ${T::class} but found $foundCallback") return foundCallback } - inline fun expectCallback(valid: (T) -> Boolean) { + inline fun expectCallback(valid: (T) -> Boolean) { val foundCallback = history.poll(DEFAULT_TIMEOUT_MS) assertTrue(foundCallback is T, "Expected ${T::class} but found $foundCallback") assertTrue(valid(foundCallback), "Unexpected callback : $foundCallback") diff --git a/tests/cts/net/src/android/net/cts/NetworkReservationTest.kt b/tests/cts/net/src/android/net/cts/NetworkReservationTest.kt index 9afb0d3d71..cc4aaf51fa 100644 --- a/tests/cts/net/src/android/net/cts/NetworkReservationTest.kt +++ b/tests/cts/net/src/android/net/cts/NetworkReservationTest.kt @@ -47,9 +47,9 @@ import com.android.compatibility.common.util.SystemUtil.runShellCommandOrThrow import com.android.testutils.ConnectivityModuleTest import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Reserved -import com.android.testutils.RecorderCallback.CallbackEntry.Unavailable import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Reserved +import com.android.testutils.TestableNetworkCallback.Event.Unavailable import com.android.testutils.TestableNetworkOfferCallback import com.android.testutils.pollingCheck import com.android.testutils.runAsShell diff --git a/tests/cts/net/src/android/net/cts/NetworkScoreTest.kt b/tests/cts/net/src/android/net/cts/NetworkScoreTest.kt index e660b1e679..a85e478daf 100644 --- a/tests/cts/net/src/android/net/cts/NetworkScoreTest.kt +++ b/tests/cts/net/src/android/net/cts/NetworkScoreTest.kt @@ -35,8 +35,8 @@ import androidx.test.InstrumentationRegistry import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event import com.android.testutils.TestableNetworkCallback.HasNetwork import org.junit.After import org.junit.Before @@ -91,7 +91,7 @@ class NetworkScoreTest { agentsToCleanUp.forEach { Log.i(TAG, "Unregister agent for net ${it.network}") it.unregister() - agentCleanUpCb.eventuallyExpect { cb -> cb.network == it.network } + agentCleanUpCb.eventuallyExpect { cb -> cb.network == it.network } } mCm.unregisterNetworkCallback(agentCleanUpCb) diff --git a/tests/cts/net/src/android/net/cts/NetworkStatsManagerTest.java b/tests/cts/net/src/android/net/cts/NetworkStatsManagerTest.java index ff43aa072c..03e14ab064 100644 --- a/tests/cts/net/src/android/net/cts/NetworkStatsManagerTest.java +++ b/tests/cts/net/src/android/net/cts/NetworkStatsManagerTest.java @@ -77,8 +77,8 @@ import com.android.testutils.ConnectivityDiagnosticsCollector; import com.android.testutils.ConnectivityModuleTest; import com.android.testutils.DevSdkIgnoreRule; import com.android.testutils.DevSdkIgnoreRunner; -import com.android.testutils.RecorderCallback.CallbackEntry; import com.android.testutils.TestableNetworkCallback; +import com.android.testutils.TestableNetworkCallback.Event; import org.junit.After; import org.junit.Before; @@ -192,7 +192,7 @@ public class NetworkStatsManagerTest { networkCallbackRule.requestNetwork(buildRequestForTransport( NetworkCapabilities.TRANSPORT_WIFI), mRequestNetworkCb, TIMEOUT_MILLIS); - return mRequestNetworkCb.expect(CallbackEntry.AVAILABLE, + return mRequestNetworkCb.expect(Event.AVAILABLE, "Wifi network not available. " + "Please ensure the device has working wifi." ).getNetwork(); @@ -214,7 +214,7 @@ public class NetworkStatsManagerTest { networkCallbackRule.requestNetwork(buildRequestForTransport( NetworkCapabilities.TRANSPORT_CELLULAR), mRequestNetworkCb, TIMEOUT_MILLIS); - return mRequestNetworkCb.expect(CallbackEntry.AVAILABLE, + return mRequestNetworkCb.expect(Event.AVAILABLE, "Cell network not available. " + "Please ensure the device has working mobile data." ).getNetwork(); @@ -366,7 +366,7 @@ public class NetworkStatsManagerTest { // interested attributes are not mutable, and not expected to be // changed during the test. final NetworkCapabilities caps = networkInterface.mRequestNetworkCb.expect( - CallbackEntry.NETWORK_CAPS_UPDATED, network).getCaps(); + Event.NETWORK_CAPS_UPDATED, network).getCaps(); networkInterface.setMetered(!caps.hasCapability( NetworkCapabilities.NET_CAPABILITY_NOT_METERED)); networkInterface.setRoaming(!caps.hasCapability( diff --git a/tests/cts/net/src/android/net/cts/NetworkValidationTest.kt b/tests/cts/net/src/android/net/cts/NetworkValidationTest.kt index 67068beb85..8db6e28b12 100644 --- a/tests/cts/net/src/android/net/cts/NetworkValidationTest.kt +++ b/tests/cts/net/src/android/net/cts/NetworkValidationTest.kt @@ -47,9 +47,10 @@ import com.android.testutils.AutoCloseTestInterfaceRule import com.android.testutils.DhcpClientPacketFilter import com.android.testutils.DhcpOptionFilter import com.android.testutils.PollPacketReader -import com.android.testutils.RecorderCallback.CallbackEntry import com.android.testutils.TestHttpServer import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.runAsShell import fi.iki.elonen.NanoHTTPD.Response.Status import java.net.Inet4Address @@ -181,10 +182,10 @@ class NetworkValidationTest { try { val mark = testCb.mark - val ncCb = testCb.eventuallyExpect(from = mark) { + val ncCb = testCb.eventuallyExpect(from = mark) { it.caps.hasCapability(NET_CAPABILITY_CAPTIVE_PORTAL) } - testCb.eventuallyExpect(from = mark) { + testCb.eventuallyExpect(from = mark) { it.network == ncCb.network && it.lp.captivePortalData != null }.lp } finally { diff --git a/tests/cts/net/src/android/net/cts/NsdManagerTest.kt b/tests/cts/net/src/android/net/cts/NsdManagerTest.kt index ee31f1af3a..db3c4837f4 100644 --- a/tests/cts/net/src/android/net/cts/NsdManagerTest.kt +++ b/tests/cts/net/src/android/net/cts/NsdManagerTest.kt @@ -92,8 +92,8 @@ import com.android.testutils.NsdServiceInfoCallbackRecord.ServiceInfoCallbackEve import com.android.testutils.NsdServiceInfoCallbackRecord.ServiceInfoCallbackEvent.ServiceUpdatedLost import com.android.testutils.NsdServiceInfoCallbackRecord.ServiceInfoCallbackEvent.UnregisterCallbackSucceeded import com.android.testutils.PollPacketReader -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.TestDnsPacket import com.android.testutils.TestableNetworkAgent import com.android.testutils.TestableNetworkCallback diff --git a/tests/cts/net/util/java/android/net/cts/util/CtsNetUtils.java b/tests/cts/net/util/java/android/net/cts/util/CtsNetUtils.java index 680aa08731..1d8e66d77f 100644 --- a/tests/cts/net/util/java/android/net/cts/util/CtsNetUtils.java +++ b/tests/cts/net/util/java/android/net/cts/util/CtsNetUtils.java @@ -74,8 +74,8 @@ import com.android.compatibility.common.util.SystemUtil; import com.android.modules.utils.build.SdkLevel; import com.android.net.module.util.ConnectivitySettingsUtils; import com.android.testutils.ConnectUtil; -import com.android.testutils.RecorderCallback.CallbackEntry; import com.android.testutils.TestableNetworkCallback; +import com.android.testutils.TestableNetworkCallback.Event; import java.io.IOException; import java.io.InputStream; @@ -582,7 +582,7 @@ public final class CtsNetUtils { .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(), cb); - final Network cellNetwork = cb.expect(CallbackEntry.AVAILABLE, errorMsg).getNetwork(); + final Network cellNetwork = cb.expect(Event.AVAILABLE, errorMsg).getNetwork(); mCm.unregisterNetworkCallback(cb); testableNetworks.add(cellNetwork); } diff --git a/tests/cts/tethering/src/android/tethering/cts/TetheringWifiP2pTest.kt b/tests/cts/tethering/src/android/tethering/cts/TetheringWifiP2pTest.kt index 4bb1fddd7e..ac05a56f00 100644 --- a/tests/cts/tethering/src/android/tethering/cts/TetheringWifiP2pTest.kt +++ b/tests/cts/tethering/src/android/tethering/cts/TetheringWifiP2pTest.kt @@ -34,10 +34,10 @@ import com.android.testutils.AutoReleaseNetworkCallbackRule import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner import com.android.testutils.DeviceConfigRule -import com.android.testutils.RecorderCallback.CallbackEntry.Available -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Available +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.runAsShell import com.google.snippet.connectivity.Wifip2pMultiDevicesSnippet import java.util.Random diff --git a/tests/integration/src/android/net/ClatTest.kt b/tests/integration/src/android/net/ClatTest.kt index 1c279b24ee..b1f9f62462 100644 --- a/tests/integration/src/android/net/ClatTest.kt +++ b/tests/integration/src/android/net/ClatTest.kt @@ -41,8 +41,8 @@ import com.android.testutils.EthernetTestInterface import com.android.testutils.Ip6Pkt import com.android.testutils.NdResponder import com.android.testutils.RaPkt -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.UdpPkt import com.android.testutils.runAsShell import com.google.common.truth.Truth.assertThat diff --git a/tests/integration/src/android/net/Dhcp6PdTest.kt b/tests/integration/src/android/net/Dhcp6PdTest.kt index e40956c40c..748b258044 100644 --- a/tests/integration/src/android/net/Dhcp6PdTest.kt +++ b/tests/integration/src/android/net/Dhcp6PdTest.kt @@ -43,9 +43,9 @@ import com.android.testutils.Ip6Pkt import com.android.testutils.NdResponder import com.android.testutils.PacketBuilder import com.android.testutils.RaPkt -import com.android.testutils.RecorderCallback.CallbackEntry.Available -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Available +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.UdpPkt import com.android.testutils.runAsShell import com.google.common.truth.Truth.assertThat diff --git a/tests/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt b/tests/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt index 5357cf559e..563ced89e5 100644 --- a/tests/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt +++ b/tests/integration/src/com/android/server/net/integrationtests/ConnectivityServiceIntegrationTest.kt @@ -67,8 +67,8 @@ import com.android.server.connectivity.ProxyTracker import com.android.server.connectivity.SatelliteAccessController import com.android.testutils.DevSdkIgnoreRunner import com.android.testutils.DeviceInfoUtils -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.runAsShell import com.android.testutils.tryTest import java.util.function.BiConsumer diff --git a/tests/integration/src/com/android/server/net/integrationtests/NetworkStatsIntegrationTest.kt b/tests/integration/src/com/android/server/net/integrationtests/NetworkStatsIntegrationTest.kt index 4780c5d4b9..1d7b54d116 100644 --- a/tests/integration/src/com/android/server/net/integrationtests/NetworkStatsIntegrationTest.kt +++ b/tests/integration/src/com/android/server/net/integrationtests/NetworkStatsIntegrationTest.kt @@ -44,7 +44,7 @@ import com.android.server.net.integrationtests.NetworkStatsIntegrationTest.Direc import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner import com.android.testutils.PacketBridge -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import com.android.testutils.TestDnsServer import com.android.testutils.TestHttpServer import com.android.testutils.TestableNetworkCallback diff --git a/tests/unit/java/com/android/server/ConnectivityServiceTest.java b/tests/unit/java/com/android/server/ConnectivityServiceTest.java old mode 100755 new mode 100644 index f4d1003866..a8b95b7418 --- a/tests/unit/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/unit/java/com/android/server/ConnectivityServiceTest.java @@ -189,16 +189,16 @@ import static com.android.testutils.MiscAsserts.assertLength; import static com.android.testutils.MiscAsserts.assertRunsInAtMost; import static com.android.testutils.MiscAsserts.assertSameElements; import static com.android.testutils.MiscAsserts.assertThrows; -import static com.android.testutils.RecorderCallback.CallbackEntry.AVAILABLE; -import static com.android.testutils.RecorderCallback.CallbackEntry.BLOCKED_STATUS; -import static com.android.testutils.RecorderCallback.CallbackEntry.BLOCKED_STATUS_INT; -import static com.android.testutils.RecorderCallback.CallbackEntry.LINK_PROPERTIES_CHANGED; -import static com.android.testutils.RecorderCallback.CallbackEntry.LOSING; -import static com.android.testutils.RecorderCallback.CallbackEntry.LOST; -import static com.android.testutils.RecorderCallback.CallbackEntry.NETWORK_CAPS_UPDATED; -import static com.android.testutils.RecorderCallback.CallbackEntry.RESUMED; -import static com.android.testutils.RecorderCallback.CallbackEntry.SUSPENDED; -import static com.android.testutils.RecorderCallback.CallbackEntry.UNAVAILABLE; +import static com.android.testutils.TestableNetworkCallback.Event.AVAILABLE; +import static com.android.testutils.TestableNetworkCallback.Event.BLOCKED_STATUS; +import static com.android.testutils.TestableNetworkCallback.Event.BLOCKED_STATUS_INT; +import static com.android.testutils.TestableNetworkCallback.Event.LINK_PROPERTIES_CHANGED; +import static com.android.testutils.TestableNetworkCallback.Event.LOSING; +import static com.android.testutils.TestableNetworkCallback.Event.LOST; +import static com.android.testutils.TestableNetworkCallback.Event.NETWORK_CAPS_UPDATED; +import static com.android.testutils.TestableNetworkCallback.Event.RESUMED; +import static com.android.testutils.TestableNetworkCallback.Event.SUSPENDED; +import static com.android.testutils.TestableNetworkCallback.Event.UNAVAILABLE; import static com.android.testutils.TestPermissionUtil.runAsShell; import static org.hamcrest.MatcherAssert.assertThat; @@ -433,8 +433,8 @@ import com.android.testutils.FunctionalUtils.Function3; import com.android.testutils.FunctionalUtils.ThrowingConsumer; import com.android.testutils.FunctionalUtils.ThrowingRunnable; import com.android.testutils.HandlerUtils; -import com.android.testutils.RecorderCallback.CallbackEntry; import com.android.testutils.TestableNetworkCallback; +import com.android.testutils.TestableNetworkCallback.Event; import com.android.testutils.TestableNetworkOfferCallback; import libcore.junit.util.compat.CoreCompatChangeRule.DisableCompatChanges; @@ -3387,8 +3387,8 @@ public class ConnectivityServiceTest { ConnectivityServiceTest.this::waitForIdle); } - public CallbackEntry.Losing expectLosing(final HasNetwork n, final long timeoutMs) { - final CallbackEntry.Losing losing = expect(LOSING, n, timeoutMs); + public Event.Losing expectLosing(final HasNetwork n, final long timeoutMs) { + final Event.Losing losing = expect(LOSING, n, timeoutMs); final int maxMsToLive = losing.getMaxMsToLive(); if (maxMsToLive < 0 || maxMsToLive > mService.mLingerDelayMs) { // maxMsToLive is the value that was received in the onLosing callback. That must @@ -3403,7 +3403,7 @@ public class ConnectivityServiceTest { return losing; } - public CallbackEntry.Losing expectLosing(final HasNetwork n) { + public Event.Losing expectLosing(final HasNetwork n) { return expectLosing(n, getDefaultTimeoutMs()); } } @@ -3468,9 +3468,9 @@ public class ConnectivityServiceTest { cb.assertNoCallback(); mWiFiAgent.connect(false); cb.expectAvailableCallbacksUnvalidated(mWiFiAgent); - final CallbackEntry found = CollectionUtils.findLast(cb.getHistory(), - it -> it instanceof CallbackEntry.CapabilitiesChanged); - assertTrue(((CallbackEntry.CapabilitiesChanged) found).getCaps() + final Event found = CollectionUtils.findLast(cb.getHistory(), + it -> it instanceof Event.CapabilitiesChanged); + assertTrue(((Event.CapabilitiesChanged) found).getCaps() .hasCapability(NET_CAPABILITY_TEMPORARILY_NOT_METERED)); cb.assertNoCallback(); mCm.unregisterNetworkCallback(cb); @@ -3518,16 +3518,16 @@ public class ConnectivityServiceTest { b = expectConnectivityAction(2); mWiFiAgent.disconnect(); - genericNetworkCallback.expect(CallbackEntry.LOST, mWiFiAgent); - wifiNetworkCallback.expect(CallbackEntry.LOST, mWiFiAgent); + genericNetworkCallback.expect(Event.LOST, mWiFiAgent); + wifiNetworkCallback.expect(Event.LOST, mWiFiAgent); cellNetworkCallback.assertNoCallback(); b.expectBroadcast(); assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback); b = expectConnectivityAction(1); mCellAgent.disconnect(); - genericNetworkCallback.expect(CallbackEntry.LOST, mCellAgent); - cellNetworkCallback.expect(CallbackEntry.LOST, mCellAgent); + genericNetworkCallback.expect(Event.LOST, mCellAgent); + cellNetworkCallback.expect(Event.LOST, mCellAgent); b.expectBroadcast(); assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback); @@ -7882,7 +7882,7 @@ public class ConnectivityServiceTest { networkAgent.connect(true); networkCallback.expect(AVAILABLE, networkAgent); networkCallback.expect(NETWORK_CAPS_UPDATED, networkAgent); - CallbackEntry.LinkPropertiesChanged cbi = + Event.LinkPropertiesChanged cbi = networkCallback.expect(LINK_PROPERTIES_CHANGED, networkAgent); networkCallback.expect(BLOCKED_STATUS, networkAgent); networkCallback.expectCaps(networkAgent, c -> c.hasCapability(NET_CAPABILITY_VALIDATED)); @@ -8480,7 +8480,7 @@ public class ConnectivityServiceTest { reset(mMockDnsResolver); cellNetworkCallback.expect(AVAILABLE, mCellAgent); cellNetworkCallback.expect(NETWORK_CAPS_UPDATED, mCellAgent); - CallbackEntry.LinkPropertiesChanged cbi = cellNetworkCallback.expect( + Event.LinkPropertiesChanged cbi = cellNetworkCallback.expect( LINK_PROPERTIES_CHANGED, mCellAgent); cellNetworkCallback.expect(BLOCKED_STATUS, mCellAgent); cellNetworkCallback.assertNoCallback(); @@ -8547,7 +8547,7 @@ public class ConnectivityServiceTest { waitForIdle(); cellNetworkCallback.expect(AVAILABLE, mCellAgent); cellNetworkCallback.expect(NETWORK_CAPS_UPDATED, mCellAgent); - CallbackEntry.LinkPropertiesChanged cbi = cellNetworkCallback.expect( + Event.LinkPropertiesChanged cbi = cellNetworkCallback.expect( LINK_PROPERTIES_CHANGED, mCellAgent); cellNetworkCallback.expect(BLOCKED_STATUS, mCellAgent); cellNetworkCallback.assertNoCallback(); @@ -9826,7 +9826,7 @@ public class ConnectivityServiceTest { super.expectAvailableThenValidatedCallbacks(n.getNetwork(), blockedStatus, TIMEOUT_MS); } public void onBlockedStatusChanged(Network network, int blockedReasons) { - getHistory().add(new CallbackEntry.BlockedStatusInt(network, blockedReasons)); + getHistory().add(new Event.BlockedStatusInt(network, blockedReasons)); } } @@ -10080,7 +10080,7 @@ public class ConnectivityServiceTest { // Expect exactly one blocked callback for each agent. for (int i = 0; i < agents.length; i++) { - final CallbackEntry e = callback.expect(BLOCKED_STATUS, TIMEOUT_MS, + final Event e = callback.expect(BLOCKED_STATUS, TIMEOUT_MS, c -> c.getBlocked() == blocked); final Network network = e.getNetwork(); assertTrue("Received unexpected blocked callback for network " + network, @@ -11932,7 +11932,7 @@ public class ConnectivityServiceTest { final LinkProperties testLinkProperties = new LinkProperties(); testLinkProperties.setHttpProxy(initialProxyInfo); mWiFiAgent.sendLinkProperties(testLinkProperties); - wifiCallback.expect(CallbackEntry.LINK_PROPERTIES_CHANGED, mWiFiAgent); + wifiCallback.expect(Event.LINK_PROPERTIES_CHANGED, mWiFiAgent); cellCallback.assertNoCallback(); // At first the local PAC proxy server is unstarted (see the description of what the local @@ -11965,7 +11965,7 @@ public class ConnectivityServiceTest { final ProxyInfo servingProxyInfo = new ProxyInfo(pacUrl, 2097); final ExpectedBroadcast servingProxyBroadcast = expectProxyChangeAction(servingProxyInfo); mService.simulateUpdateProxyInfo(mWiFiAgent.getNetwork(), servingProxyInfo); - wifiCallback.expect(CallbackEntry.LINK_PROPERTIES_CHANGED, mWiFiAgent); + wifiCallback.expect(Event.LINK_PROPERTIES_CHANGED, mWiFiAgent); cellCallback.assertNoCallback(); servingProxyBroadcast.expectBroadcast(); @@ -11997,14 +11997,14 @@ public class ConnectivityServiceTest { lp -> lp.getLp().getHttpProxy().getPort() == -1 && lp.getLp().getHttpProxy().isPacProxy()); // Wifi is lingered as it was the default but is no longer serving any request. - wifiCallback.expect(CallbackEntry.LOSING, mWiFiAgent); + wifiCallback.expect(Event.LOSING, mWiFiAgent); // Now arrange for Ethernet to have a PAC proxy. final ProxyInfo ethProxy = ProxyInfo.buildPacProxy(ethPacUrl); final LinkProperties ethLinkProperties = new LinkProperties(); ethLinkProperties.setHttpProxy(ethProxy); mEthernetAgent.sendLinkProperties(ethLinkProperties); - ethernetCallback.expect(CallbackEntry.LINK_PROPERTIES_CHANGED, mEthernetAgent); + ethernetCallback.expect(Event.LINK_PROPERTIES_CHANGED, mEthernetAgent); // Default network is Ethernet assertEquals(ethProxy, mService.getProxyForNetwork(null)); assertEquals(ethProxy, mService.getProxyForNetwork(mEthernetAgent.getNetwork())); @@ -12024,7 +12024,7 @@ public class ConnectivityServiceTest { final ExpectedBroadcast servingEthProxyBroadcast = expectProxyChangeAction(servingEthProxy); final ExpectedBroadcast servingProxyBroadcast2 = expectProxyChangeAction(servingProxyInfo); mService.simulateUpdateProxyInfo(mEthernetAgent.getNetwork(), servingEthProxy); - ethernetCallback.expect(CallbackEntry.LINK_PROPERTIES_CHANGED, mEthernetAgent); + ethernetCallback.expect(Event.LINK_PROPERTIES_CHANGED, mEthernetAgent); assertEquals(servingEthProxy, mService.getProxyForNetwork(null)); assertEquals(servingEthProxy, mService.getProxyForNetwork(mEthernetAgent.getNetwork())); assertEquals(initialProxyInfo, mService.getProxyForNetwork(mWiFiAgent.getNetwork())); @@ -12033,7 +12033,7 @@ public class ConnectivityServiceTest { // Ethernet disconnects, back to WiFi mEthernetAgent.disconnect(); - ethernetCallback.expect(CallbackEntry.LOST, mEthernetAgent); + ethernetCallback.expect(Event.LOST, mEthernetAgent); // WiFi is now the default network again. However, the local proxy server does not serve // WiFi at this time, so at this time a proxy with port -1 is still the correct value. @@ -12056,7 +12056,7 @@ public class ConnectivityServiceTest { // starts up. This should cause a LP event to inform clients of the port to access the // proxy server for wifi. mService.simulateUpdateProxyInfo(mWiFiAgent.getNetwork(), servingProxyInfo); - wifiCallback.expect(CallbackEntry.LINK_PROPERTIES_CHANGED, mWiFiAgent); + wifiCallback.expect(Event.LINK_PROPERTIES_CHANGED, mWiFiAgent); assertEquals(servingProxyInfo, mService.getProxyForNetwork(null)); assertEquals(servingProxyInfo, mService.getProxyForNetwork(mWiFiAgent.getNetwork())); assertNull(mService.getProxyForNetwork(mCellAgent.getNetwork())); @@ -12070,7 +12070,7 @@ public class ConnectivityServiceTest { proxy -> proxy == null || TextUtils.isEmpty(proxy.getHost())); mWiFiAgent.disconnect(); emptyProxyBroadcast.expectBroadcast(); - wifiCallback.expect(CallbackEntry.LOST, mWiFiAgent); + wifiCallback.expect(Event.LOST, mWiFiAgent); assertNull(mService.getProxyForNetwork(null)); assertNull(mService.getLinkProperties(mCellAgent.getNetwork()).getHttpProxy()); assertNull(mService.getGlobalProxy()); @@ -12100,7 +12100,7 @@ public class ConnectivityServiceTest { final ProxyInfo servingProxyInfo = new ProxyInfo(pacUrl, 2097); final ExpectedBroadcast servingProxyBroadcast = expectProxyChangeAction(servingProxyInfo); mService.simulateUpdateProxyInfo(mWiFiAgent.getNetwork(), servingProxyInfo); - wifiCallback.expect(CallbackEntry.LINK_PROPERTIES_CHANGED, mWiFiAgent); + wifiCallback.expect(Event.LINK_PROPERTIES_CHANGED, mWiFiAgent); servingProxyBroadcast.expectBroadcast(); // Now disconnect Wi-Fi and make sure there is a broadcast for some empty proxy. Whether @@ -12109,7 +12109,7 @@ public class ConnectivityServiceTest { final ExpectedBroadcast emptyProxyBroadcast = expectProxyChangeAction( proxy -> proxy == null || TextUtils.isEmpty(proxy.getHost())); mWiFiAgent.disconnect(); - wifiCallback.expect(CallbackEntry.LOST, mWiFiAgent); + wifiCallback.expect(Event.LOST, mWiFiAgent); emptyProxyBroadcast.expectBroadcast(); } diff --git a/tests/unit/java/com/android/server/connectivityservice/CSBlockedReasonsTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSBlockedReasonsTest.kt index 985d403fe3..c33dc69cb2 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSBlockedReasonsTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSBlockedReasonsTest.kt @@ -43,8 +43,8 @@ import android.os.Build import android.os.Process import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.BlockedStatusInt import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.BlockedStatusInt import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyBoolean diff --git a/tests/unit/java/com/android/server/connectivityservice/CSDeclaredMethodsForCallbacksTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSDeclaredMethodsForCallbacksTest.kt index b179aac770..f1c2143a54 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSDeclaredMethodsForCallbacksTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSDeclaredMethodsForCallbacksTest.kt @@ -35,8 +35,8 @@ import com.android.server.defaultLp import com.android.server.defaultNc import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event import com.android.testutils.tryTest import java.lang.reflect.Modifier import java.util.concurrent.atomic.AtomicInteger @@ -127,11 +127,11 @@ class CSDeclaredMethodsForCallbacksTest : CSTest() { waitForIdle() // Only callbacks for the corresponding flags are called - requestCb.expect() - requestCb.expect() + requestCb.expect() + requestCb.expect() requestCb.assertNoCallback(timeoutMs = 0L) - listenCb.expect() + listenCb.expect() listenCb.assertNoCallback(timeoutMs = 0L) } diff --git a/tests/unit/java/com/android/server/connectivityservice/CSDestroyedNetworkTests.kt b/tests/unit/java/com/android/server/connectivityservice/CSDestroyedNetworkTests.kt index b82453140c..3b511b150e 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSDestroyedNetworkTests.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSDestroyedNetworkTests.kt @@ -23,8 +23,8 @@ import android.os.Build import androidx.test.filters.SmallTest import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Lost import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyInt diff --git a/tests/unit/java/com/android/server/connectivityservice/CSIngressDiscardRuleTests.kt b/tests/unit/java/com/android/server/connectivityservice/CSIngressDiscardRuleTests.kt index 77b06b2239..2ef035e9b7 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSIngressDiscardRuleTests.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSIngressDiscardRuleTests.kt @@ -35,8 +35,8 @@ import androidx.test.filters.SmallTest import com.android.server.connectivity.ConnectivityFlags import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged import org.junit.Test import org.junit.runner.RunWith import org.mockito.InOrder diff --git a/tests/unit/java/com/android/server/connectivityservice/CSInterfaceTrackerTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSInterfaceTrackerTest.kt index b06e11357f..08236e006f 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSInterfaceTrackerTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSInterfaceTrackerTest.kt @@ -31,12 +31,11 @@ import androidx.test.filters.SmallTest import com.android.server.CSTest import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Lost import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mockito.inOrder -import org.mockito.Mockito.verify private const val WIFI_IFNAME = "wlan0" diff --git a/tests/unit/java/com/android/server/connectivityservice/CSKeepConnectedTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSKeepConnectedTest.kt index c0965b4ff7..d99099450d 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSKeepConnectedTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSKeepConnectedTest.kt @@ -28,8 +28,8 @@ import android.os.Build import androidx.test.filters.SmallTest import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Lost import org.junit.Test import org.junit.runner.RunWith diff --git a/tests/unit/java/com/android/server/connectivityservice/CSL2capProviderTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSL2capProviderTest.kt index ee5b4eede5..98e7ff44ae 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSL2capProviderTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSL2capProviderTest.kt @@ -45,10 +45,10 @@ import com.android.server.net.L2capNetwork.L2capIpClient import com.android.server.net.L2capPacketForwarder import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Lost -import com.android.testutils.RecorderCallback.CallbackEntry.Reserved -import com.android.testutils.RecorderCallback.CallbackEntry.Unavailable import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Lost +import com.android.testutils.TestableNetworkCallback.Event.Reserved +import com.android.testutils.TestableNetworkCallback.Event.Unavailable import com.android.testutils.anyNetwork import com.android.testutils.waitForIdle import java.io.IOException @@ -67,7 +67,6 @@ import org.mockito.ArgumentMatchers.isNull import org.mockito.Mockito.doAnswer import org.mockito.Mockito.doReturn import org.mockito.Mockito.doThrow -import org.mockito.Mockito.mock import org.mockito.Mockito.verify private const val PSM = 0x85 diff --git a/tests/unit/java/com/android/server/connectivityservice/CSLocalAgentCreationTests.kt b/tests/unit/java/com/android/server/connectivityservice/CSLocalAgentCreationTests.kt index 6dc9d2d537..7d5ed312fb 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSLocalAgentCreationTests.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSLocalAgentCreationTests.kt @@ -28,8 +28,8 @@ import android.os.Build import androidx.test.filters.SmallTest import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Available import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Available import kotlin.test.assertFailsWith import org.junit.Assert.assertEquals import org.junit.Test diff --git a/tests/unit/java/com/android/server/connectivityservice/CSLocalAgentTests.kt b/tests/unit/java/com/android/server/connectivityservice/CSLocalAgentTests.kt index 1058be125c..152751d401 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSLocalAgentTests.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSLocalAgentTests.kt @@ -34,9 +34,9 @@ import android.net.connectivity.ConnectivityCompatChanges.ENABLE_MATCH_NON_THREA import android.os.Build import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.LocalInfoChanged -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.LocalInfoChanged +import com.android.testutils.TestableNetworkCallback.Event.Lost import kotlin.test.assertFailsWith import org.junit.Test import org.junit.runner.RunWith diff --git a/tests/unit/java/com/android/server/connectivityservice/CSLocalNetworkProtectionTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSLocalNetworkProtectionTest.kt index 84c98359de..4f1c1aabb8 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSLocalNetworkProtectionTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSLocalNetworkProtectionTest.kt @@ -31,9 +31,9 @@ import android.os.Build import androidx.test.filters.SmallTest import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.Lost import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.eq diff --git a/tests/unit/java/com/android/server/connectivityservice/CSNetworkActivityTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSNetworkActivityTest.kt index ccbd6b3370..99fdfa5248 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSNetworkActivityTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSNetworkActivityTest.kt @@ -40,8 +40,8 @@ import com.android.net.module.util.BaseNetdUnsolicitedEventListener import com.android.server.CSTest.CSContext import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Lost import java.time.Duration import kotlin.test.assertNotNull import org.junit.Assert.assertFalse diff --git a/tests/unit/java/com/android/server/connectivityservice/CSNetworkReservationTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSNetworkReservationTest.kt index a509d1ecc8..662ec18395 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSNetworkReservationTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSNetworkReservationTest.kt @@ -32,11 +32,11 @@ import android.net.NetworkScore import android.os.Build import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Reserved -import com.android.testutils.RecorderCallback.CallbackEntry.Unavailable import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Reserved +import com.android.testutils.TestableNetworkCallback.Event.Unavailable import com.android.testutils.TestableNetworkOfferCallback -import com.android.testutils.TestableNetworkOfferCallback.CallbackEntry.Needed +import com.android.testutils.TestableNetworkOfferCallback.Event.Needed import kotlin.test.assertEquals import kotlin.test.assertNull import org.junit.Before @@ -118,7 +118,7 @@ class CSNetworkReservationTest : CSTest() { } fun TestableNetworkOfferCallback.expectNoCallbackWhere( - predicate: (TestableNetworkOfferCallback.CallbackEntry) -> Boolean + predicate: (TestableNetworkOfferCallback.Event) -> Boolean ) { val event = history.poll(NO_CB_TIMEOUT_MS) { predicate(it) } assertNull(event) diff --git a/tests/unit/java/com/android/server/connectivityservice/CSPreferenceTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSPreferenceTest.kt index 1b7b1017ab..c8cd64e902 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSPreferenceTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSPreferenceTest.kt @@ -41,11 +41,11 @@ import androidx.test.filters.SmallTest import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Lost import com.android.testutils.TestableNetworkOfferCallback -import com.android.testutils.TestableNetworkOfferCallback.CallbackEntry.Needed -import com.android.testutils.TestableNetworkOfferCallback.CallbackEntry.Unneeded +import com.android.testutils.TestableNetworkOfferCallback.Event.Needed +import com.android.testutils.TestableNetworkOfferCallback.Event.Unneeded import com.android.testutils.postAndWait import com.android.testutils.runAsShell import kotlin.test.assertEquals diff --git a/tests/unit/java/com/android/server/connectivityservice/CSQueuedCallbacksTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSQueuedCallbacksTest.kt index 6d1858e964..4f15b1a6a7 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSQueuedCallbacksTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSQueuedCallbacksTest.kt @@ -55,14 +55,14 @@ import com.android.server.defaultLp import com.android.server.defaultNc import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.BlockedStatus -import com.android.testutils.RecorderCallback.CallbackEntry.CapabilitiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged -import com.android.testutils.RecorderCallback.CallbackEntry.LocalInfoChanged -import com.android.testutils.RecorderCallback.CallbackEntry.Lost -import com.android.testutils.RecorderCallback.CallbackEntry.Resumed -import com.android.testutils.RecorderCallback.CallbackEntry.Suspended import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.BlockedStatus +import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LinkPropertiesChanged +import com.android.testutils.TestableNetworkCallback.Event.LocalInfoChanged +import com.android.testutils.TestableNetworkCallback.Event.Lost +import com.android.testutils.TestableNetworkCallback.Event.Resumed +import com.android.testutils.TestableNetworkCallback.Event.Suspended import com.android.testutils.visibleOnHandlerThread import com.android.testutils.waitForIdleSerialExecutor import java.util.Collections diff --git a/tests/unit/java/com/android/server/connectivityservice/CSSatelliteNetworkTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSSatelliteNetworkTest.kt index 94be0a8e64..31f70fdb8e 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSSatelliteNetworkTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSSatelliteNetworkTest.kt @@ -47,9 +47,9 @@ import com.android.server.ConnectivityService.PREFERENCE_ORDER_SATELLITE_FALLBAC import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Losing -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Losing +import com.android.testutils.TestableNetworkCallback.Event.Lost import com.android.testutils.runAsShell import com.android.testutils.visibleOnHandlerThread import kotlin.test.assertEquals diff --git a/tests/unit/java/com/android/server/connectivityservice/CSShellCommandsTest.kt b/tests/unit/java/com/android/server/connectivityservice/CSShellCommandsTest.kt index f94e858377..3467fff894 100644 --- a/tests/unit/java/com/android/server/connectivityservice/CSShellCommandsTest.kt +++ b/tests/unit/java/com/android/server/connectivityservice/CSShellCommandsTest.kt @@ -41,9 +41,9 @@ import com.android.server.ConnectivityService.PREFERENCE_ORDER_DEBUG_FALLBACK import com.android.testutils.DevSdkIgnoreRule import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import com.android.testutils.RecorderCallback.CallbackEntry.Losing -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Losing +import com.android.testutils.TestableNetworkCallback.Event.Lost import java.io.File import org.junit.Assume.assumeTrue import org.junit.Rule diff --git a/tests/unit/java/com/android/server/connectivityservice/base/CSAgentWrapper.kt b/tests/unit/java/com/android/server/connectivityservice/base/CSAgentWrapper.kt index 0cc9457f2c..4dd6d82e08 100644 --- a/tests/unit/java/com/android/server/connectivityservice/base/CSAgentWrapper.kt +++ b/tests/unit/java/com/android/server/connectivityservice/base/CSAgentWrapper.kt @@ -37,9 +37,9 @@ import android.net.NetworkScore import android.net.NetworkTestResultParcelable import android.net.networkstack.NetworkStackClientBase import android.os.HandlerThread -import com.android.testutils.RecorderCallback.CallbackEntry.Available -import com.android.testutils.RecorderCallback.CallbackEntry.Lost import com.android.testutils.TestableNetworkCallback +import com.android.testutils.TestableNetworkCallback.Event.Available +import com.android.testutils.TestableNetworkCallback.Event.Lost import java.util.concurrent.atomic.AtomicInteger import kotlin.test.assertEquals import kotlin.test.fail diff --git a/thread/tests/utils/src/android/net/thread/utils/TapTestNetworkTracker.java b/thread/tests/utils/src/android/net/thread/utils/TapTestNetworkTracker.java index 62c278534d..c117975fc7 100644 --- a/thread/tests/utils/src/android/net/thread/utils/TapTestNetworkTracker.java +++ b/thread/tests/utils/src/android/net/thread/utils/TapTestNetworkTracker.java @@ -17,7 +17,7 @@ package android.net.thread.utils; import static android.Manifest.permission.MANAGE_TEST_NETWORKS; -import static com.android.testutils.RecorderCallback.CallbackEntry.LINK_PROPERTIES_CHANGED; +import static com.android.testutils.TestableNetworkCallback.Event.LINK_PROPERTIES_CHANGED; import static com.android.testutils.TestPermissionUtil.runAsShell; import android.content.Context;