mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-02-01 02:39:22 +00:00
Fix chat creation in the call view
This commit is contained in:
parent
beee998627
commit
6b88006faa
2 changed files with 14 additions and 10 deletions
|
|
@ -2205,7 +2205,7 @@ struct CallView: View {
|
|||
.frame(height: geo.size.height * 0.15)
|
||||
|
||||
HStack(spacing: 0) {
|
||||
if !CorePreferences.disableChatFeature {
|
||||
if !CorePreferences.disableChatFeature && callViewModel.chatEnabled {
|
||||
VStack {
|
||||
Button {
|
||||
callViewModel.createConversation()
|
||||
|
|
@ -2343,7 +2343,7 @@ struct CallView: View {
|
|||
.frame(width: geo.size.width * 0.24, height: geo.size.width * 0.24)
|
||||
.hidden()
|
||||
|
||||
if CorePreferences.disableChatFeature {
|
||||
if CorePreferences.disableChatFeature || !callViewModel.chatEnabled {
|
||||
VStack {
|
||||
Button {
|
||||
} label: {
|
||||
|
|
@ -2601,7 +2601,7 @@ struct CallView: View {
|
|||
.frame(width: geo.size.width * 0.125, height: geo.size.width * 0.125)
|
||||
}
|
||||
|
||||
if !CorePreferences.disableChatFeature {
|
||||
if !CorePreferences.disableChatFeature && callViewModel.chatEnabled {
|
||||
VStack {
|
||||
Button {
|
||||
callViewModel.createConversation()
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ class CallViewModel: ObservableObject {
|
|||
@Published var isOneOneCall: Bool = false
|
||||
@Published var isConference: Bool = false
|
||||
@Published var videoDisplayed: Bool = false
|
||||
@Published var chatEnabled: Bool = false
|
||||
@Published var participantList: [ParticipantModel] = []
|
||||
@Published var activeSpeakerParticipant: ParticipantModel?
|
||||
@Published var activeSpeakerName: String = ""
|
||||
|
|
@ -214,6 +215,13 @@ class CallViewModel: ObservableObject {
|
|||
}
|
||||
}
|
||||
|
||||
var chatEnabledTmp = false
|
||||
if self.currentCall?.conference != nil {
|
||||
chatEnabledTmp = self.currentCall?.conference?.currentParams?.chatEnabled ?? false
|
||||
} else {
|
||||
chatEnabledTmp = true
|
||||
}
|
||||
|
||||
DispatchQueue.main.async {
|
||||
self.direction = directionTmp
|
||||
self.remoteAddressString = remoteAddressStringTmp
|
||||
|
|
@ -248,6 +256,7 @@ class CallViewModel: ObservableObject {
|
|||
self.isNotEncrypted = false
|
||||
self.isZrtp = isZrtpTmp
|
||||
self.cacheMismatch = cacheMismatchFlag
|
||||
self.chatEnabled = chatEnabledTmp
|
||||
|
||||
self.getCallsList()
|
||||
|
||||
|
|
@ -1196,16 +1205,11 @@ class CallViewModel: ObservableObject {
|
|||
let localAddress = call.callLog?.localAddress
|
||||
let remoteAddress = call.remoteAddress
|
||||
|
||||
let params: ConferenceParams? = nil
|
||||
let existingConversation: ChatRoom?
|
||||
if call.conference != nil {
|
||||
existingConversation = call.core?.searchChatRoom(
|
||||
params: params,
|
||||
localAddr: localAddress,
|
||||
remoteAddr: remoteAddress,
|
||||
participants: []
|
||||
)
|
||||
existingConversation = call.conference?.chatRoom
|
||||
} else {
|
||||
let params = getChatRoomParams(call: call)
|
||||
let participants = [remoteAddress!]
|
||||
existingConversation = call.core?.searchChatRoom(
|
||||
params: params,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue