From 8d2ea6d037da617c53c9cfcc4cf4d7600be5955c Mon Sep 17 00:00:00 2001 From: Christophe Deschamps Date: Tue, 14 Jun 2022 18:04:42 +0200 Subject: [PATCH] Hide video button if audio only layout --- Classes/Swift/Voip/ViewModels/ControlsViewModel.swift | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift b/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift index 0a6dea9bc..691e4461d 100644 --- a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift +++ b/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift @@ -85,6 +85,9 @@ class ControlsViewModel { UIDevice.current.isProximityMonitoringEnabled = enabled == true } updateUI() + ConferenceViewModel.shared.conferenceDisplayMode.readCurrentAndObserve { _ in + self.updateVideoAvailable() + } } private func setAudioRoutes(_ call:Call,_ state:Call.State) { @@ -189,8 +192,12 @@ class ControlsViewModel { private func updateVideoAvailable() { let currentCall = core.currentCall - isVideoAvailable.value = (core.videoCaptureEnabled || core.videoPreviewEnabled) && - ((currentCall != nil && currentCall?.mediaInProgress() != true) || core.conference?.isIn == true) + isVideoAvailable.value = + (core.videoCaptureEnabled || core.videoPreviewEnabled) && + currentCall?.state != .Paused && + currentCall?.state != .PausedByRemote && + ((currentCall != nil && currentCall?.mediaInProgress() != true) || (core.conference?.isIn == true)) && + (ConferenceViewModel.shared.conferenceExists.value != true || ConferenceViewModel.shared.conferenceDisplayMode.value != .AudioOnly) } private func updateVideoEnabled() {