Skip to content

Commit 275ff2e

Browse files
authored
Merge pull request #6726 from nextcloud/backport/6723/stable-25.0.x
[stable-25.0.x] fix(chat): fix ANR in ChatActivity.onStart media controller connect
2 parents b360738 + 3dcbd39 commit 275ff2e

1 file changed

Lines changed: 16 additions & 3 deletions

File tree

app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,11 +1400,24 @@ class ChatActivity :
14001400
this.lifecycle.addObserver(chatViewModel)
14011401

14021402
val sessionToken = SessionToken(this, ComponentName(this, VoiceMessageMediaService::class.java))
1403-
mediaControllerFuture = MediaController.Builder(this, sessionToken).buildAsync()
1403+
val future = MediaController.Builder(this, sessionToken)
1404+
.setListener(object : MediaController.Listener {
1405+
override fun onDisconnected(controller: MediaController) {
1406+
mediaController?.removeListener(playerListener)
1407+
stopProgressPolling()
1408+
mediaController = null
1409+
}
1410+
})
1411+
.buildAsync()
1412+
mediaControllerFuture = future
1413+
1414+
future.addListener({
1415+
if (future !== mediaControllerFuture) {
1416+
return@addListener
1417+
}
14041418

1405-
mediaControllerFuture?.addListener({
14061419
mediaController = try {
1407-
mediaControllerFuture?.get()
1420+
future.get()
14081421
} catch (_: CancellationException) {
14091422
null
14101423
}

0 commit comments

Comments
 (0)