From c350def61651f2a4acff807e38398c1ba1abb760 Mon Sep 17 00:00:00 2001 From: Benoit Martins Date: Wed, 17 Apr 2024 15:48:23 +0200 Subject: [PATCH] Add muted and joining icons in conf call --- Linphone/Localizable.xcstrings | 3 + Linphone/UI/Call/CallView.swift | 91 ++++++++++++++++--- Linphone/UI/Call/Model/ParticipantModel.swift | 4 +- .../UI/Call/ViewModel/CallViewModel.swift | 50 +++++++--- .../Fragments/HistoryListFragment.swift | 4 +- 5 files changed, 121 insertions(+), 31 deletions(-) diff --git a/Linphone/Localizable.xcstrings b/Linphone/Localizable.xcstrings index 2f86da3a3..1af0329dd 100644 --- a/Linphone/Localizable.xcstrings +++ b/Linphone/Localizable.xcstrings @@ -419,6 +419,9 @@ }, "Job title" : { + }, + "Joining..." : { + }, "Key" : { "extractionState" : "manual" diff --git a/Linphone/UI/Call/CallView.swift b/Linphone/UI/Call/CallView.swift index 3005a880d..03f2cbdcd 100644 --- a/Linphone/UI/Call/CallView.swift +++ b/Linphone/UI/Call/CallView.swift @@ -519,7 +519,7 @@ struct CallView: View { maxHeight: fullscreenVideo && !telecomManager.isPausedByRemote ? geometry.size.height + geometry.safeAreaInsets.top + geometry.safeAreaInsets.bottom : geometry.size.height - (minBottomSheetHeight * geometry.size.height > 80 ? minBottomSheetHeight * geometry.size.height : 78) - 40 - 20 + geometry.safeAreaInsets.bottom ) } - } else if callViewModel.isConference && !telecomManager.outgoingCallStarted && callViewModel.activeSpeakerParticipant != nil { + } else if callViewModel.isConference && !telecomManager.outgoingCallStarted && callViewModel.activeSpeakerParticipant != nil { VStack { Spacer() ZStack { @@ -613,6 +613,27 @@ struct CallView: View { } } } + if callViewModel.isConference && !telecomManager.outgoingCallStarted && callViewModel.activeSpeakerParticipant != nil && callViewModel.activeSpeakerParticipant!.isMuted { + VStack { + HStack { + Spacer() + + HStack(alignment: .center) { + Image("microphone-slash") + .renderingMode(.template) + .resizable() + .foregroundStyle(Color.grayMain2c800) + .frame(width: 20, height: 20) + } + .padding(5) + .background(.white) + .cornerRadius(40) + } + Spacer() + } + .frame(maxWidth: .infinity) + .padding(.all, 20) + } if callViewModel.isConference { HStack { @@ -654,6 +675,7 @@ struct CallView: View { .scaledToFill() .clipped() } + VStack(alignment: .leading) { Spacer() @@ -677,21 +699,63 @@ struct CallView: View { ForEach(0..