diff --git a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift index 908d88ef8..e2592e61f 100644 --- a/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift +++ b/Classes/Swift/Voip/Views/Fragments/Conference/VoipConferenceActiveSpeakerView.swift @@ -40,8 +40,8 @@ class VoipConferenceActiveSpeakerView: UIView, UICollectionViewDataSource, UICol let subjectLabel = StyledLabel(VoipTheme.call_display_name_duration) let duration = CallTimer(nil, VoipTheme.call_display_name_duration) let muted = MicMuted(VoipActiveSpeakerParticipantCell.mute_size) + let pause = UIImageView(image: UIImage(named: "voip_pause")?.tinted(with: .white)) - let remotelyRecording = RemotelyRecordingView(height: ActiveCallView.remote_recording_height,text: VoipTexts.call_remote_recording) var recordCallButtons : [CallControlButton] = [] var pauseCallButtons : [CallControlButton] = [] @@ -89,6 +89,13 @@ class VoipConferenceActiveSpeakerView: UIView, UICollectionViewDataSource, UICol model.meParticipant.value?.micMuted.readCurrentAndObserve { muted in self.muted.isHidden = muted != true } + model.meParticipant.value?.isInConference.readCurrentAndObserve { isIn in + self.pause.isHidden = isIn == true + if (isIn != true) { + self.activeSpeakerVideoView.isHidden = true + self.activeSpeakerVideoViewAlone.isHidden = true + } + } } else if (otherSpeakersCount == 1) { if let data = model.activeSpeakerConferenceParticipantDevices.value!.first { data.videoEnabled.readCurrentAndObserve { video in @@ -97,6 +104,13 @@ class VoipConferenceActiveSpeakerView: UIView, UICollectionViewDataSource, UICol data.micMuted.readCurrentAndObserve { muted in self.muted.isHidden = muted != true } + data.isInConference.readCurrentAndObserve { isIn in + self.pause.isHidden = isIn == true || data.isJoining.value == true + if (isIn != true) { + self.activeSpeakerVideoView.isHidden = true + self.activeSpeakerVideoViewAlone.isHidden = true + } + } } self.layoutRotatableElements() self.meGrid.isHidden = false @@ -129,6 +143,13 @@ class VoipConferenceActiveSpeakerView: UIView, UICollectionViewDataSource, UICol self.fillActiveSpeakerSpace(data: speakingParticipant,video: video == true) self.muted.isHidden = true } + speakingParticipant?.isInConference.readCurrentAndObserve { isIn in + self.pause.isHidden = isIn == true + if (isIn != true) { + self.activeSpeakerVideoView.isHidden = true + self.activeSpeakerVideoViewAlone.isHidden = true + } + } } } } @@ -287,6 +308,12 @@ class VoipConferenceActiveSpeakerView: UIView, UICollectionViewDataSource, UICol activeSpeakerView.addSubview(activeSpeakerDisplayName) activeSpeakerDisplayName.alignParentLeft(withMargin:ActiveCallView.bottom_displayname_margin_left).alignParentRight().alignParentBottom(withMargin:ActiveCallView.bottom_displayname_margin_bottom).done() + activeSpeakerAvatar.addSubview(pause) + pause.isHidden = true + pause.backgroundColor = activeSpeakerAvatar.backgroundColor + pause.matchParentDimmensions().done() + pause.contentMode = .scaleAspectFit + // CollectionViews grid.dataSource = self grid.delegate = self