Wait for asynchronous voice cleanup acknowledgement in lifecycle regression test
This commit is contained in:
1 parent
5ee87c535b
commit
c7356d2a5b
2 files changed
+2
No files matched your search
@@ -103,6 +103,7 @@ JNI init регистрирует callbacks/recorder; SQLite открывает
|
||||
через JNI, предварительное создание `chats.db` в init не требуется.
|
||||
`NativeLib.stop/destroy` снимает media-владельцев на main и ждёт native worker на IO. `HeadlessService`
|
||||
передаёт остановку в общий `CoreShutdown`, который переживает onDestroy; новый Service ждёт его до init.
|
||||
Отказ stop повторяется автоматически с backoff 250 мс..30 с, без нового Service/request.
|
||||
Отмена одного ожидающего Service не отменяет очистку. Диагностика worker не считает живые ресурсы
|
||||
frontend утечками: recorder освобождается bridge после остановки ядра.
|
||||
|
||||
|
||||
+1
@@ -102,6 +102,7 @@ class AudioRecorderManagerTest {
|
||||
assertEquals(1, NativeLib.cancels.get()); diagnostic("release")
|
||||
device.failures = emptySet()
|
||||
manager.cancelRecording()
|
||||
manager.requestClose().get(2, TimeUnit.SECONDS)
|
||||
assertTrue("cleanup lost the unreleased device", device.released)
|
||||
assertEquals(1, NativeLib.cancels.get())
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user