Merge pull request #3195 from nextcloud/audio-duration-bug-fix

Rewind & Replay bug fix for Audio Duration
This commit is contained in:
Andy Scherzinger 2023-07-20 18:58:53 +02:00 committed by GitHub
commit 74a138077e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 7 deletions

View File

@ -101,7 +101,7 @@ class IncomingVoiceMessageViewHolder(incomingView: View, payload: Any) :
setParentMessageDataOnMessageItem(message)
updateDownloadState(message)
binding.seekbar.max = message.voiceMessageDuration
binding.seekbar.max = message.voiceMessageDuration - 1
viewThemeUtils.platform.themeHorizontalSeekBar(binding.seekbar)
viewThemeUtils.platform.colorCircularProgressBar(binding.progressBar, ColorRole.ON_SURFACE_VARIANT)

View File

@ -98,7 +98,7 @@ class OutcomingVoiceMessageViewHolder(outcomingView: View) :
setParentMessageDataOnMessageItem(message)
updateDownloadState(message)
binding.seekbar.max = message.voiceMessageDuration
binding.seekbar.max = message.voiceMessageDuration - 1
viewThemeUtils.platform.themeHorizontalSeekBar(binding.seekbar)
viewThemeUtils.platform.colorCircularProgressBar(binding.progressBar, ColorRole.ON_SURFACE_VARIANT)

View File

@ -1715,18 +1715,17 @@ class ChatActivity :
mediaPlayerHandler = Handler()
runOnUiThread(object : Runnable {
var timeElapsed = if (message.voiceMessagePlayedSeconds > 0) message.voiceMessagePlayedSeconds else 0
override fun run() {
if (mediaPlayer != null) {
if (message.isPlayingVoiceMessage) {
if (timeElapsed < (mediaPlayer!!.duration / VOICE_MESSAGE_SEEKBAR_BASE)) {
timeElapsed += 1
message.voiceMessagePlayedSeconds = timeElapsed
val pos = mediaPlayer!!.currentPosition / VOICE_MESSAGE_SEEKBAR_BASE
if (pos < (mediaPlayer!!.duration / VOICE_MESSAGE_SEEKBAR_BASE)) {
message.voiceMessagePlayedSeconds = pos
adapter?.update(message)
} else {
message.resetVoiceMessage = true
message.voiceMessagePlayedSeconds = 0
adapter?.update(message)
timeElapsed = 0
stopMediaPlayer(message)
}
}