From 9fe2a38455ad53e73692ba99e006e050f7862222 Mon Sep 17 00:00:00 2001 From: Christophe Deschamps Date: Wed, 29 Jun 2022 08:52:22 +0200 Subject: [PATCH] Admin set/unset notification in conference --- Classes/Swift/Voip/Theme/VoipTexts.swift | 3 ++- .../Voip/ViewModels/ConferenceViewModel.swift | 8 ++++++++ Resources/fr.lproj/Localizable.strings | Bin 70914 -> 71134 bytes 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Classes/Swift/Voip/Theme/VoipTexts.swift b/Classes/Swift/Voip/Theme/VoipTexts.swift index 2805a5941..bcee79407 100644 --- a/Classes/Swift/Voip/Theme/VoipTexts.swift +++ b/Classes/Swift/Voip/Theme/VoipTexts.swift @@ -134,7 +134,8 @@ import UIKit @objc static let dialog_accept = NSLocalizedString("Accept",comment:"") @objc static let dialog_decline = NSLocalizedString("Decline",comment:"") @objc static let conference_empty = NSLocalizedString("You are currently alone in this group call",comment:"") - + @objc static let conference_admin_set = NSLocalizedString("%s is now admin",comment:"") + @objc static let conference_admin_unset = NSLocalizedString("%s is no longer admin",comment:"") // FROM ANDROID END diff --git a/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift b/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift index 8d406f936..6c20e3f93 100644 --- a/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift +++ b/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift @@ -92,6 +92,7 @@ class ConferenceViewModel { self.updateParticipantsList(conference) if let participantData = self.conferenceParticipants.value?.filter ({$0.participant.address!.weakEqual(address2: participant.address!)}).first { self.participantAdminStatusChangedEvent.value = participantData + self.notifyAdminStatusChanged(participantData: participantData) } else { Log.w("[Conference] Failed to find participant [\(participant.address!.asStringUriOnly())] in conferenceParticipants list") } @@ -166,6 +167,13 @@ class ConferenceViewModel { } } + func notifyAdminStatusChanged(participantData:ConferenceParticipantData) { + if let participantName = participantData.participant.address?.addressBookEnhancedDisplayName() { + let message = (participantData.participant.isAdmin ? VoipTexts.conference_admin_set : VoipTexts.conference_admin_unset).replacingOccurrences(of: "%s", with: participantName) + VoipDialog.toast(message: message) + } + } + func pauseConference() { Log.i("[Conference] Leaving conference with address \(conference) temporarily") let _ = conference.value?.leave() diff --git a/Resources/fr.lproj/Localizable.strings b/Resources/fr.lproj/Localizable.strings index f78f4a67327392517c1f99eeaa0fee3b3adcd521..b0c265e40ea7e93358877393067c16cc5e2d6771 100644 GIT binary patch delta 136 zcmZo##d2>oOT!jMCQ)}K233Y)1_g#pFqy}Y&rlBJB{HNi