From 053407f9002dcbefca5a627394b7c27b362febe9 Mon Sep 17 00:00:00 2001 From: Giacomo Pacini Date: Sun, 15 Dec 2024 22:21:13 +0100 Subject: [PATCH] fixed a bug that cut the last part of every voice messages. i.e. An audio message whose duration is 5.9 seconds was played for 5 seconds Signed-off-by: Giacomo Pacini --- app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index 25d4790c6..f73547618 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -1639,10 +1639,10 @@ class ChatActivity : override fun run() { if (mediaPlayer != null) { if (message.isPlayingVoiceMessage) { - val pos = mediaPlayer!!.currentPosition / VOICE_MESSAGE_SEEKBAR_BASE - if (pos < (mediaPlayer!!.duration / VOICE_MESSAGE_SEEKBAR_BASE)) { + val pos = mediaPlayer!!.currentPosition.toFloat() / VOICE_MESSAGE_SEEKBAR_BASE + if (pos + 0.1 < (mediaPlayer!!.duration.toFloat() / VOICE_MESSAGE_SEEKBAR_BASE)) { lastRecordMediaPosition = mediaPlayer!!.currentPosition - message.voiceMessagePlayedSeconds = pos + message.voiceMessagePlayedSeconds = pos.toInt() message.voiceMessageSeekbarProgress = mediaPlayer!!.currentPosition if(mediaPlayer!!.currentPosition * 20 > mediaPlayer!!.duration){ // a voice message is marked as played when the mediaplayer position