Fix concurrent modification crash.

This commit is contained in:
Onuray Sahin 2021-08-05 14:13:24 +03:00
parent c57ae131dc
commit d7174d3c74
1 changed files with 7 additions and 7 deletions

View File

@ -326,11 +326,11 @@ class VoiceMessageRecorderView @JvmOverloads constructor(
} }
} }
private fun renderRecordingWaveform(amplitudeList: List<Int>) { private fun renderRecordingWaveform(amplitudeList: Array<Int>) {
views.voicePlaybackWaveform.apply { post {
post { views.voicePlaybackWaveform.apply {
amplitudeList.forEach { amplitude -> amplitudeList.iterator().forEach {
update(amplitude) update(it)
} }
} }
} }
@ -404,7 +404,7 @@ class VoiceMessageRecorderView @JvmOverloads constructor(
scaleX = 1f scaleX = 1f
scaleY = 1f scaleY = 1f
translationX = 0f translationX = 0f
translationY = 0f translationY = 0f
} }
isCancelled?.let { isCancelled?.let {
callback?.onVoiceRecordingEnded(it) callback?.onVoiceRecordingEnded(it)
@ -503,7 +503,7 @@ class VoiceMessageRecorderView @JvmOverloads constructor(
override fun onUpdate(state: VoiceMessagePlaybackTracker.Listener.State) { override fun onUpdate(state: VoiceMessagePlaybackTracker.Listener.State) {
when (state) { when (state) {
is VoiceMessagePlaybackTracker.Listener.State.Recording -> { is VoiceMessagePlaybackTracker.Listener.State.Recording -> {
renderRecordingWaveform(state.amplitudeList) renderRecordingWaveform(state.amplitudeList.toTypedArray())
} }
is VoiceMessagePlaybackTracker.Listener.State.Playing -> { is VoiceMessagePlaybackTracker.Listener.State.Playing -> {
views.voicePlaybackControlButton.setImageResource(R.drawable.ic_play_pause_pause) views.voicePlaybackControlButton.setImageResource(R.drawable.ic_play_pause_pause)