fix to start voice message playback only when activity is visible

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2023-04-03 15:02:32 +02:00
parent f7529446a4
commit f9836da4a8
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B

View File

@ -225,6 +225,8 @@ class ChatActivity :
CommonMessageInterface, CommonMessageInterface,
PreviewMessageInterface { PreviewMessageInterface {
var active = false
private lateinit var binding: ControllerChatBinding private lateinit var binding: ControllerChatBinding
@Inject @Inject
@ -344,6 +346,16 @@ class ChatActivity :
binding.messagesListView.setAdapter(adapter) binding.messagesListView.setAdapter(adapter)
} }
override fun onStart() {
super.onStart()
active = true
}
override fun onStop() {
super.onStop()
active = false
}
@Suppress("Detekt.TooGenericExceptionCaught") @Suppress("Detekt.TooGenericExceptionCaught")
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
@ -1085,14 +1097,13 @@ class ChatActivity :
} }
private fun startPlayback(message: ChatMessage) { private fun startPlayback(message: ChatMessage) {
// TODO check how to handle this when conductor is removed if (!active) {
// if (!this.isAttached) { // don't begin to play voice message if screen is not visible anymore.
// // don't begin to play voice message if screen is not visible anymore. // this situation might happen if file is downloading but user already left the chatview.
// // this situation might happen if file is downloading but user already left the chatview. // If user returns to chatview, the old chatview instance is not attached anymore
// // If user returns to chatview, the old chatview instance is not attached anymore // and he has to click the play button again (which is considered to be okay)
// // and he has to click the play button again (which is considered to be okay) return
// return }
// }
initMediaPlayer(message) initMediaPlayer(message)