From 6c1beb6f06b6a2c0eeead48bbf0b7e57d674d3b7 Mon Sep 17 00:00:00 2001 From: Christophe Deschamps Date: Tue, 11 Oct 2022 17:10:55 +0200 Subject: [PATCH] Meeting edition fixes --- .../ConferenceSchedulingViewModel.swift | 8 ++++---- .../ConferenceSchedulingSummaryView.swift | 8 ++++++-- .../Views/ConferenceSchedulingView.swift | 6 ++++-- .../Views/ScheduledConferencesCell.swift | 2 +- Classes/Swift/Voip/Theme/VoipTexts.swift | 1 + Resources/fr.lproj/Localizable.strings | Bin 72294 -> 72370 bytes 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Classes/Swift/Conference/ViewModels/ConferenceSchedulingViewModel.swift b/Classes/Swift/Conference/ViewModels/ConferenceSchedulingViewModel.swift index 43eb2ce39..cd5004231 100644 --- a/Classes/Swift/Conference/ViewModels/ConferenceSchedulingViewModel.swift +++ b/Classes/Swift/Conference/ViewModels/ConferenceSchedulingViewModel.swift @@ -64,7 +64,7 @@ class ConferenceSchedulingViewModel { private var chatRooomDelegate : ChatRoomDelegate? = nil private var conferenceSchedulerDelegate : ConferenceSchedulerDelegateStub? = nil - var existingConfInfo:ConferenceInfo? = nil + var existingConfInfo:MutableLiveData = MutableLiveData() init () { @@ -165,7 +165,7 @@ class ConferenceSchedulingViewModel { }.first continueEnabled.value = false selectedAddresses.value = [] - existingConfInfo = nil + existingConfInfo.value = nil description.value = "" } @@ -198,7 +198,7 @@ class ConferenceSchedulingViewModel { conferenceScheduler = try? Core.get().createConferenceScheduler() conferenceScheduler?.addDelegate(delegate: conferenceSchedulerDelegate!) - guard let conferenceInfo = existingConfInfo != nil ? existingConfInfo : try Factory.Instance.createConferenceInfo() else { + guard let conferenceInfo = existingConfInfo.value != nil ? existingConfInfo.value??.clone() : try Factory.Instance.createConferenceInfo() else { Log.e("[Conference Creation/Update] Failed, unable to get conf info.") return } @@ -213,7 +213,7 @@ class ConferenceSchedulingViewModel { } conferenceScheduler?.account = localAccount conferenceScheduler?.info = conferenceInfo // Will trigger the conference creation automatically - existingConfInfo = conferenceInfo + existingConfInfo.value = conferenceInfo } catch { Log.e("[Conference Creation] Failed \(error)") diff --git a/Classes/Swift/Conference/Views/ConferenceSchedulingSummaryView.swift b/Classes/Swift/Conference/Views/ConferenceSchedulingSummaryView.swift index 0028a78bd..9486d99dd 100644 --- a/Classes/Swift/Conference/Views/ConferenceSchedulingSummaryView.swift +++ b/Classes/Swift/Conference/Views/ConferenceSchedulingSummaryView.swift @@ -174,7 +174,11 @@ import SVProgressHUD // Create / Schedule contentView.addSubview(createButton) ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { _ in - self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased() + self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit.uppercased() : VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased() + self.createButton.addSidePadding() + } + ConferenceSchedulingViewModel.shared.existingConfInfo.readCurrentAndObserve { _ in + self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit.uppercased() : VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased() self.createButton.addSidePadding() } @@ -211,7 +215,7 @@ import SVProgressHUD } } ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { (later) in - self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased() + self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit.uppercased() : VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased() viaChatLabel.isHidden = later != true || ConferenceSchedulingViewModel.shared.sendInviteViaChat.value != true self.createButton.addSidePadding() } diff --git a/Classes/Swift/Conference/Views/ConferenceSchedulingView.swift b/Classes/Swift/Conference/Views/ConferenceSchedulingView.swift index 02f7d8362..d08fb09dd 100644 --- a/Classes/Swift/Conference/Views/ConferenceSchedulingView.swift +++ b/Classes/Swift/Conference/Views/ConferenceSchedulingView.swift @@ -198,12 +198,14 @@ import IQKeyboardManager // Schedule for later observer ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { (forLater) in scheduleForm.isHidden = forLater != true - super.titleLabel.text = forLater == true ? VoipTexts.conference_schedule_title : VoipTexts.conference_group_call_title + super.titleLabel.text = forLater == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit : VoipTexts.conference_schedule_title : VoipTexts.conference_group_call_title mandatoryLabel.removeConstraints().done() mandatoryLabel.alignUnder(view: forLater == true ? scheduleForm : scheduleForLater,withMargin: 2*self.form_margin).centerX().matchParentSideBorders().done() } + ConferenceSchedulingViewModel.shared.existingConfInfo.readCurrentAndObserve { (confInfo) in + super.titleLabel.text = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit : VoipTexts.conference_schedule_title : VoipTexts.conference_group_call_title + } - } diff --git a/Classes/Swift/Conference/Views/ScheduledConferencesCell.swift b/Classes/Swift/Conference/Views/ScheduledConferencesCell.swift index 36661172e..408900867 100644 --- a/Classes/Swift/Conference/Views/ScheduledConferencesCell.swift +++ b/Classes/Swift/Conference/Views/ScheduledConferencesCell.swift @@ -196,7 +196,7 @@ class ScheduledConferencesCell: UITableViewCell { confData.conferenceInfo.participants.forEach { ConferenceSchedulingViewModel.shared.selectedAddresses.value?.append($0) } - ConferenceSchedulingViewModel.shared.existingConfInfo = confData.conferenceInfo + ConferenceSchedulingViewModel.shared.existingConfInfo.value = confData.conferenceInfo // TOODO TimeZone (as Android 14.6.2022) ConferenceSchedulingViewModel.shared.scheduledTimeZone.value = self.conferenceData?.timezone let view : ConferenceSchedulingView = self.VIEW(ConferenceSchedulingView.compositeViewDescription()) PhoneMainView.instance().changeCurrentView(view.compositeViewDescription()) diff --git a/Classes/Swift/Voip/Theme/VoipTexts.swift b/Classes/Swift/Voip/Theme/VoipTexts.swift index e4e252760..6e4391c32 100644 --- a/Classes/Swift/Voip/Theme/VoipTexts.swift +++ b/Classes/Swift/Voip/Theme/VoipTexts.swift @@ -124,6 +124,7 @@ import UIKit @objc static let conference_schedule_send_invite_chat_summary = NSLocalizedString("Invite will be sent out from my &appName; account",comment:"").replacingOccurrences(of: "&appName;", with: appName) @objc static let conference_schedule_send_invite_email = NSLocalizedString("Send invite via email",comment:"") @objc static let conference_schedule_start = NSLocalizedString("Schedule meeting",comment:"") + @objc static let conference_schedule_edit = NSLocalizedString("Edit meeting",comment:"") @objc static let conference_schedule_subject_hint = NSLocalizedString("Meeting subject",comment:"") @objc static let conference_schedule_subject_title = NSLocalizedString("Subject",comment:"") @objc static let conference_schedule_summary = NSLocalizedString("Meeting info",comment:"") diff --git a/Resources/fr.lproj/Localizable.strings b/Resources/fr.lproj/Localizable.strings index 32dfe5dead649884a3e619308fd09d26e7c3ea8f..dbb507f94bbded2f7377b08893465bb997e60e1a 100644 GIT binary patch delta 72 zcmaF1g=N!LmWC~iEdsi(3@Hqm3?&Q-47m)cKv)9gw0JAs}2mk;8 delta 17 ZcmdnAmF3wMmWC~iEdtvw2rxe41OQ0l2UY+8