diff --git a/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt b/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt index bd93241e7..30f6ebac0 100644 --- a/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt @@ -74,13 +74,6 @@ class ActiveCallFragment : GenericFragment() { } } - callViewModel.startCallChronometerEvent.observe(viewLifecycleOwner) { - it.consume { duration -> - binding.chronometer.base = SystemClock.elapsedRealtime() - (1000 * duration) - binding.chronometer.start() - } - } - callViewModel.showZrtpSasDialogEvent.observe(viewLifecycleOwner) { it.consume { pair -> val model = ZrtpSasConfirmationDialogModel(pair.first, pair.second) @@ -102,5 +95,10 @@ class ActiveCallFragment : GenericFragment() { dialog.show() } } + + callViewModel.callDuration.observe(viewLifecycleOwner) { duration -> + binding.chronometer.base = SystemClock.elapsedRealtime() - (1000 * duration) + binding.chronometer.start() + } } } diff --git a/app/src/main/java/org/linphone/ui/voip/fragment/IncomingCallFragment.kt b/app/src/main/java/org/linphone/ui/voip/fragment/IncomingCallFragment.kt index 32d1ff35e..22fd17e9b 100644 --- a/app/src/main/java/org/linphone/ui/voip/fragment/IncomingCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/voip/fragment/IncomingCallFragment.kt @@ -53,11 +53,9 @@ class IncomingCallFragment : GenericFragment() { binding.lifecycleOwner = viewLifecycleOwner binding.viewModel = callViewModel - callViewModel.startCallChronometerEvent.observe(viewLifecycleOwner) { - it.consume { duration -> - binding.chronometer.base = SystemClock.elapsedRealtime() - (1000 * duration) - binding.chronometer.start() - } + callViewModel.callDuration.observe(viewLifecycleOwner) { duration -> + binding.chronometer.base = SystemClock.elapsedRealtime() - (1000 * duration) + binding.chronometer.start() } } } diff --git a/app/src/main/java/org/linphone/ui/voip/fragment/OutgoingCallFragment.kt b/app/src/main/java/org/linphone/ui/voip/fragment/OutgoingCallFragment.kt index 25c6f8e6f..3df6c47fe 100644 --- a/app/src/main/java/org/linphone/ui/voip/fragment/OutgoingCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/voip/fragment/OutgoingCallFragment.kt @@ -53,11 +53,9 @@ class OutgoingCallFragment : GenericFragment() { binding.lifecycleOwner = viewLifecycleOwner binding.viewModel = callViewModel - callViewModel.startCallChronometerEvent.observe(viewLifecycleOwner) { - it.consume { duration -> - binding.chronometer.base = SystemClock.elapsedRealtime() - (1000 * duration) - binding.chronometer.start() - } + callViewModel.callDuration.observe(viewLifecycleOwner) { duration -> + binding.chronometer.base = SystemClock.elapsedRealtime() - (1000 * duration) + binding.chronometer.start() } } } diff --git a/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt b/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt index b20b21f19..83110755d 100644 --- a/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt +++ b/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt @@ -56,7 +56,7 @@ class CurrentCallViewModel() : ViewModel() { MutableLiveData>>() } - val startCallChronometerEvent = MutableLiveData>() + val callDuration = MutableLiveData() // Extras actions @@ -241,6 +241,6 @@ class CurrentCallViewModel() : ViewModel() { } updateEncryption() - startCallChronometerEvent.postValue(Event(call.duration)) + callDuration.postValue(call.duration) } }