Drain radio callbacks before terminating the host executor

This commit is contained in:
evgeny committed 2026-10-29 13:34:22 +01:00
1 parent ef95ff54b9
commit 722ca3e6f7
1 file changed
+1 -1
@@ -39,11 +39,11 @@ class RadioPttLifecycleTest {
@After fun release() {
Handler.rejectDelayed = false; context.permissionGranted = true
engine.stop().get(5, TimeUnit.SECONDS)
main.advanceBy(10_000); drain() // Доставить прежние ACK-timeout callbacks до завершения их io-владельца.
io.shutdown(); assertTrue(io.awaitTermination(5, TimeUnit.SECONDS))
val barrier = Executors.newSingleThreadExecutor()
try { barrier.submit { MediaAudioController.awaitIdle() }.get(5, TimeUnit.SECONDS) }
finally { barrier.shutdownNow() }
main.advanceBy(10_000)
assertTrue(context.receivers.isEmpty())
assertTrue(AudioTrack.created.all { it.released })
assertTrue(AndroidMicrophoneCapture.opened.all { it.closed })