From fd3f746e3df53ce806a340bd0a29daf6e7bb94b0 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 19 Jun 2025 12:02:13 +0200 Subject: [PATCH] Prevent race condition crash with VuMeter when call is ending --- .../linphone/ui/call/viewmodel/CurrentCallViewModel.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt index 872687286..c1f1c1a91 100644 --- a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt +++ b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt @@ -1260,8 +1260,12 @@ class CurrentCallViewModel if (corePreferences.showMicrophoneAndSpeakerVuMeters) { volumeVuMeterTickerFlow().onEach { coreContext.postOnCoreThread { - microphoneRecordingVolume.postValue(computeVuMeterValue(currentCall.recordVolume)) - playbackVolume.postValue(computeVuMeterValue(currentCall.playVolume)) + val call = currentCall + val state = call.state + if (state == Call.State.End || state == Call.State.Released) return@postOnCoreThread + + microphoneRecordingVolume.postValue(computeVuMeterValue(call.recordVolume)) + playbackVolume.postValue(computeVuMeterValue(call.playVolume)) } }.launchIn(viewModelScope) }