diff --git a/Linphone/GeneratedGit.swift b/Linphone/GeneratedGit.swift index 416180536..9d71fa1cd 100644 --- a/Linphone/GeneratedGit.swift +++ b/Linphone/GeneratedGit.swift @@ -1,7 +1,7 @@ import Foundation public enum AppGitInfo { - public static let branch = "master" - public static let commit = "b84bd1faf" + public static let branch = "feature/screen_sharing" + public static let commit = "1dc5dec22" public static let tag = "6.1.0-alpha" } diff --git a/Linphone/TelecomManager/TelecomManager.swift b/Linphone/TelecomManager/TelecomManager.swift index 9cdac0b7e..e859aafd1 100644 --- a/Linphone/TelecomManager/TelecomManager.swift +++ b/Linphone/TelecomManager/TelecomManager.swift @@ -167,22 +167,24 @@ class TelecomManager: ObservableObject { } func doCallOrJoinConf(address: Address, isVideo: Bool = false, isConference: Bool = false) { - if address.asStringUriOnly().hasPrefix("sip:conference-focus@sip.linphone.org") { - do { - let meetingAddress = try Factory.Instance.createAddress(addr: address.asStringUriOnly()) - - DispatchQueue.main.async { - withAnimation { - self.meetingWaitingRoomDisplayed = true - self.meetingWaitingRoomSelected = meetingAddress - } - } - } catch {} - } else { - doCallWithCore( - addr: address, isVideo: isVideo, isConference: isConference - ) - } + CoreContext.shared.doOnCoreQueue { core in + if let _ = core.findConferenceInformationFromUri(uri: address) { + do { + let meetingAddress = try Factory.Instance.createAddress(addr: address.asStringUriOnly()) + + DispatchQueue.main.async { + withAnimation { + self.meetingWaitingRoomDisplayed = true + self.meetingWaitingRoomSelected = meetingAddress + } + } + } catch {} + } else { + self.doCallWithCore( + addr: address, isVideo: isVideo, isConference: isConference + ) + } + } } func doCallWithCore(addr: Address, isVideo: Bool, isConference: Bool) { diff --git a/Linphone/UI/Call/CallView.swift b/Linphone/UI/Call/CallView.swift index 0f0c1b65f..ecb939c1b 100644 --- a/Linphone/UI/Call/CallView.swift +++ b/Linphone/UI/Call/CallView.swift @@ -607,9 +607,9 @@ struct CallView: View { } } else if callViewModel.isConference && !telecomManager.outgoingCallStarted && callViewModel.activeSpeakerParticipant != nil { let heightValue = (fullscreenVideo && !telecomManager.isPausedByRemote ? geometry.size.height : geometry.size.height - (minBottomSheetHeight * geometry.size.height > 80 ? minBottomSheetHeight * geometry.size.height : 78) - 40 - 20 + geometry.safeAreaInsets.bottom) - if optionsChangeLayout == 1 && callViewModel.participantList.count <= 5 { + if optionsChangeLayout == 1 && callViewModel.participantList.count <= 5 && callViewModel.activeSpeakerParticipant?.isScreenSharing == false { mosaicMode(geometry: geometry, height: heightValue) - } else if optionsChangeLayout == 3 { + } else if optionsChangeLayout == 3 && callViewModel.activeSpeakerParticipant?.isScreenSharing == false { audioOnlyMode(geometry: geometry, height: heightValue) } else { activeSpeakerMode(geometry: geometry) @@ -990,7 +990,7 @@ struct CallView: View { .cornerRadius(20) ForEach(0..