diff --git a/Linphone/TelecomManager/TelecomManager.swift b/Linphone/TelecomManager/TelecomManager.swift index 37c3d4aeb..66ca4bc94 100644 --- a/Linphone/TelecomManager/TelecomManager.swift +++ b/Linphone/TelecomManager/TelecomManager.swift @@ -368,6 +368,8 @@ class TelecomManager: ObservableObject { completion(call.remoteAddress!.displayName!) } else if call.remoteAddress!.username != nil { completion(call.remoteAddress!.username!) + } else { + completion(String(call.remoteAddress!.asStringUriOnly().dropFirst(4))) } } @@ -475,6 +477,8 @@ class TelecomManager: ObservableObject { displayName = call.remoteAddress!.displayName! } else if call.remoteAddress!.username != nil { displayName = call.remoteAddress!.username! + } else { + displayName = String(call.remoteAddress!.asStringUriOnly().dropFirst(4)) } } diff --git a/Linphone/UI/Call/Model/ParticipantModel.swift b/Linphone/UI/Call/Model/ParticipantModel.swift index 3a81da4cf..007d0ac9a 100644 --- a/Linphone/UI/Call/Model/ParticipantModel.swift +++ b/Linphone/UI/Call/Model/ParticipantModel.swift @@ -53,7 +53,13 @@ class ParticipantModel: ObservableObject { if let addressFriend = friendResult { self.name = addressFriend.name! } else { - self.name = address.displayName != nil ? address.displayName! : address.username! + if address.displayName != nil { + self.name = address.displayName! + } else if address.username != nil { + self.name = address.username! + } else { + self.name = String(address.asStringUriOnly().dropFirst(4)) + } } } diff --git a/Linphone/UI/Call/ViewModel/CallViewModel.swift b/Linphone/UI/Call/ViewModel/CallViewModel.swift index a3ce8d591..728515d2b 100644 --- a/Linphone/UI/Call/ViewModel/CallViewModel.swift +++ b/Linphone/UI/Call/ViewModel/CallViewModel.swift @@ -170,6 +170,8 @@ class CallViewModel: ObservableObject { displayNameTmp = self.currentCall!.remoteAddress!.displayName! } else if self.currentCall!.remoteAddress!.username != nil && displayNameTmp.isEmpty { displayNameTmp = self.currentCall!.remoteAddress!.username! + } else if displayNameTmp.isEmpty { + displayNameTmp = String(self.currentCall!.remoteAddress!.asStringUriOnly().dropFirst(4)) } } @@ -351,6 +353,8 @@ class CallViewModel: ObservableObject { activeSpeakerNameTmp = activeSpeakerParticipantTmp!.address.displayName! } else if activeSpeakerParticipantTmp!.address.username != nil { activeSpeakerNameTmp = activeSpeakerParticipantTmp!.address.username! + } else { + activeSpeakerNameTmp = String(activeSpeakerParticipantTmp!.address.asStringUriOnly().dropFirst(4)) } } } @@ -467,7 +471,9 @@ class CallViewModel: ObservableObject { activeSpeakerNameTmp = activeSpeakerParticipantTmp!.address.displayName! } else if activeSpeakerParticipantTmp!.address.username != nil { activeSpeakerNameTmp = activeSpeakerParticipantTmp!.address.username! - } + } else { + activeSpeakerNameTmp = String(activeSpeakerParticipantTmp!.address.asStringUriOnly().dropFirst(4)) + } } DispatchQueue.main.async { if self.activeSpeakerParticipant == nil { @@ -594,6 +600,8 @@ class CallViewModel: ObservableObject { activeSpeakerNameTmp = activeSpeakerParticipantTmp.address.displayName! } else if activeSpeakerParticipantTmp.address.username != nil { activeSpeakerNameTmp = activeSpeakerParticipantTmp.address.username! + } else { + activeSpeakerNameTmp = String(activeSpeakerParticipantTmp.address.asStringUriOnly().dropFirst(4)) } } diff --git a/Linphone/UI/Call/ViewModel/MeetingWaitingRoomViewModel.swift b/Linphone/UI/Call/ViewModel/MeetingWaitingRoomViewModel.swift index 365f78d2d..8cf52f77b 100644 --- a/Linphone/UI/Call/ViewModel/MeetingWaitingRoomViewModel.swift +++ b/Linphone/UI/Call/ViewModel/MeetingWaitingRoomViewModel.swift @@ -83,6 +83,8 @@ class MeetingWaitingRoomViewModel: ObservableObject { userNameTmp = core.defaultAccount!.contactAddress!.displayName! } else if core.defaultAccount!.contactAddress!.username != nil { userNameTmp = core.defaultAccount!.contactAddress!.username! + } else { + userNameTmp = String(core.defaultAccount!.contactAddress!.asStringUriOnly().dropFirst(4)) } } } diff --git a/Linphone/UI/Main/Contacts/Model/ContactAvatarModel.swift b/Linphone/UI/Main/Contacts/Model/ContactAvatarModel.swift index 818083113..2c069c1b7 100644 --- a/Linphone/UI/Main/Contacts/Model/ContactAvatarModel.swift +++ b/Linphone/UI/Main/Contacts/Model/ContactAvatarModel.swift @@ -149,11 +149,25 @@ class ContactAvatarModel: ObservableObject, Identifiable { } completion(avatarModel!) } else { - let name = address.displayName != nil ? address.displayName! : address.username! + var name = "" + if address.displayName != nil { + name = address.displayName! + } else if address.username != nil { + name = address.username! + } else { + name = String(address.asStringUriOnly().dropFirst(4)) + } completion(ContactAvatarModel(friend: nil, name: name, address: address.asStringUriOnly(), withPresence: false)) } } else { - let name = address.displayName != nil ? address.displayName! : address.username! + var name = "" + if address.displayName != nil { + name = address.displayName! + } else if address.username != nil { + name = address.username! + } else { + name = String(address.asStringUriOnly().dropFirst(4)) + } completion(ContactAvatarModel(friend: nil, name: name, address: address.asStringUriOnly(), withPresence: false)) } } diff --git a/Linphone/UI/Main/Conversations/Fragments/ConversationForwardMessageFragment.swift b/Linphone/UI/Main/Conversations/Fragments/ConversationForwardMessageFragment.swift index f641b52cd..a5d2fe4bd 100644 --- a/Linphone/UI/Main/Conversations/Fragments/ConversationForwardMessageFragment.swift +++ b/Linphone/UI/Main/Conversations/Fragments/ConversationForwardMessageFragment.swift @@ -276,20 +276,44 @@ struct ConversationForwardMessageFragment: View { } label: { HStack { if index < contactsManager.lastSearchSuggestions.count - && contactsManager.lastSearchSuggestions[index].address != nil - && contactsManager.lastSearchSuggestions[index].address!.username != nil { - - Image(uiImage: contactsManager.textToImage( - firstName: contactsManager.lastSearchSuggestions[index].address!.username!, - lastName: "")) - .resizable() - .frame(width: 45, height: 45) - .clipShape(Circle()) - - Text(contactsManager.lastSearchSuggestions[index].address?.username ?? "") - .default_text_style(styleSize: 16) - .frame(maxWidth: .infinity, alignment: .leading) - .foregroundStyle(Color.orangeMain500) + && contactsManager.lastSearchSuggestions[index].address != nil { + if contactsManager.lastSearchSuggestions[index].address!.displayName != nil { + Image(uiImage: contactsManager.textToImage( + firstName: contactsManager.lastSearchSuggestions[index].address!.displayName!, + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(contactsManager.lastSearchSuggestions[index].address?.displayName ?? "") + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } else if contactsManager.lastSearchSuggestions[index].address!.username != nil { + Image(uiImage: contactsManager.textToImage( + firstName: contactsManager.lastSearchSuggestions[index].address!.username!, + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(contactsManager.lastSearchSuggestions[index].address!.username ?? "") + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } else { + Image(uiImage: contactsManager.textToImage( + firstName: String(contactsManager.lastSearchSuggestions[index].address!.asStringUriOnly().dropFirst(4)), + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(String(contactsManager.lastSearchSuggestions[index].address!.asStringUriOnly().dropFirst(4))) + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } } else { Image("profil-picture-default") .resizable() diff --git a/Linphone/UI/Main/Conversations/Fragments/StartConversationFragment.swift b/Linphone/UI/Main/Conversations/Fragments/StartConversationFragment.swift index afd825a66..19bb3f3cd 100644 --- a/Linphone/UI/Main/Conversations/Fragments/StartConversationFragment.swift +++ b/Linphone/UI/Main/Conversations/Fragments/StartConversationFragment.swift @@ -274,20 +274,44 @@ struct StartConversationFragment: View { } label: { HStack { if index < contactsManager.lastSearchSuggestions.count - && contactsManager.lastSearchSuggestions[index].address != nil - && contactsManager.lastSearchSuggestions[index].address!.username != nil { - - Image(uiImage: contactsManager.textToImage( - firstName: contactsManager.lastSearchSuggestions[index].address!.username!, - lastName: "")) - .resizable() - .frame(width: 45, height: 45) - .clipShape(Circle()) - - Text(contactsManager.lastSearchSuggestions[index].address?.username ?? "") - .default_text_style(styleSize: 16) - .frame(maxWidth: .infinity, alignment: .leading) - .foregroundStyle(Color.orangeMain500) + && contactsManager.lastSearchSuggestions[index].address != nil { + if contactsManager.lastSearchSuggestions[index].address!.displayName != nil { + Image(uiImage: contactsManager.textToImage( + firstName: contactsManager.lastSearchSuggestions[index].address!.displayName!, + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(contactsManager.lastSearchSuggestions[index].address?.displayName ?? "") + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } else if contactsManager.lastSearchSuggestions[index].address!.username != nil { + Image(uiImage: contactsManager.textToImage( + firstName: contactsManager.lastSearchSuggestions[index].address!.username!, + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(contactsManager.lastSearchSuggestions[index].address!.username ?? "") + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } else { + Image(uiImage: contactsManager.textToImage( + firstName: String(contactsManager.lastSearchSuggestions[index].address!.asStringUriOnly().dropFirst(4)), + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(String(contactsManager.lastSearchSuggestions[index].address!.asStringUriOnly().dropFirst(4))) + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } } else { Image("profil-picture-default") .resizable() diff --git a/Linphone/UI/Main/Conversations/Model/ConversationModel.swift b/Linphone/UI/Main/Conversations/Model/ConversationModel.swift index 77d7362f3..aabe82c03 100644 --- a/Linphone/UI/Main/Conversations/Model/ConversationModel.swift +++ b/Linphone/UI/Main/Conversations/Model/ConversationModel.swift @@ -219,7 +219,7 @@ class ConversationModel: ObservableObject, Identifiable { } else if lastMessage!.fromAddress!.username != nil { fromAddressFriend = lastMessage!.fromAddress!.username! + ": " } else { - fromAddressFriend = "" + fromAddressFriend = String(lastMessage!.fromAddress!.asStringUriOnly().dropFirst(4)) + ": " } } else { fromAddressFriend! += ": " diff --git a/Linphone/UI/Main/Conversations/Model/EventModel.swift b/Linphone/UI/Main/Conversations/Model/EventModel.swift index 18abeedfb..e7482ee5b 100644 --- a/Linphone/UI/Main/Conversations/Model/EventModel.swift +++ b/Linphone/UI/Main/Conversations/Model/EventModel.swift @@ -45,7 +45,13 @@ class EventModel: ObservableObject { if let addressFriend = friendResult { name = addressFriend.name! } else { - name = address!.displayName != nil ? address!.displayName! : address!.username! + if address!.displayName != nil { + name = address!.displayName! + } else if address!.username != nil { + name = address!.username! + } else { + name = String(address!.asStringUriOnly().dropFirst(4)) + } } let textValue: String diff --git a/Linphone/UI/Main/Conversations/ViewModel/ConversationsListViewModel.swift b/Linphone/UI/Main/Conversations/ViewModel/ConversationsListViewModel.swift index 21fc88826..875080ca7 100644 --- a/Linphone/UI/Main/Conversations/ViewModel/ConversationsListViewModel.swift +++ b/Linphone/UI/Main/Conversations/ViewModel/ConversationsListViewModel.swift @@ -134,7 +134,7 @@ class ConversationsListViewModel: ObservableObject { } else if message.fromAddress!.username != nil { fromAddressFriend = message.fromAddress!.username! + ": " } else { - fromAddressFriend = "" + fromAddressFriend = String(message.fromAddress!.asStringUriOnly().dropFirst(4)) + ": " } } else { fromAddressFriend! += ": " diff --git a/Linphone/UI/Main/History/Fragments/StartCallFragment.swift b/Linphone/UI/Main/History/Fragments/StartCallFragment.swift index 3dcdf8474..bc1d7c01e 100644 --- a/Linphone/UI/Main/History/Fragments/StartCallFragment.swift +++ b/Linphone/UI/Main/History/Fragments/StartCallFragment.swift @@ -375,20 +375,44 @@ struct StartCallFragment: View { } label: { HStack { if index < contactsManager.lastSearchSuggestions.count - && contactsManager.lastSearchSuggestions[index].address != nil - && contactsManager.lastSearchSuggestions[index].address!.username != nil { - - Image(uiImage: contactsManager.textToImage( - firstName: contactsManager.lastSearchSuggestions[index].address!.username!, - lastName: "")) - .resizable() - .frame(width: 45, height: 45) - .clipShape(Circle()) - - Text(contactsManager.lastSearchSuggestions[index].address?.username ?? "") - .default_text_style(styleSize: 16) - .frame(maxWidth: .infinity, alignment: .leading) - .foregroundStyle(Color.orangeMain500) + && contactsManager.lastSearchSuggestions[index].address != nil { + if contactsManager.lastSearchSuggestions[index].address!.displayName != nil { + Image(uiImage: contactsManager.textToImage( + firstName: contactsManager.lastSearchSuggestions[index].address!.displayName!, + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(contactsManager.lastSearchSuggestions[index].address?.displayName ?? "") + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } else if contactsManager.lastSearchSuggestions[index].address!.username != nil { + Image(uiImage: contactsManager.textToImage( + firstName: contactsManager.lastSearchSuggestions[index].address!.username!, + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(contactsManager.lastSearchSuggestions[index].address!.username ?? "") + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } else { + Image(uiImage: contactsManager.textToImage( + firstName: String(contactsManager.lastSearchSuggestions[index].address!.asStringUriOnly().dropFirst(4)), + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(String(contactsManager.lastSearchSuggestions[index].address!.asStringUriOnly().dropFirst(4))) + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } } else { Image("profil-picture-default") .resizable() diff --git a/Linphone/UI/Main/Meetings/Fragments/AddParticipantsFragment.swift b/Linphone/UI/Main/Meetings/Fragments/AddParticipantsFragment.swift index 5ac5a983f..e8a2ffed6 100644 --- a/Linphone/UI/Main/Meetings/Fragments/AddParticipantsFragment.swift +++ b/Linphone/UI/Main/Meetings/Fragments/AddParticipantsFragment.swift @@ -258,20 +258,44 @@ struct AddParticipantsFragment: View { } label: { HStack { if index < contactsManager.lastSearchSuggestions.count - && contactsManager.lastSearchSuggestions[index].address != nil - && contactsManager.lastSearchSuggestions[index].address!.username != nil { - - Image(uiImage: contactsManager.textToImage( - firstName: contactsManager.lastSearchSuggestions[index].address!.username!, - lastName: "")) - .resizable() - .frame(width: 45, height: 45) - .clipShape(Circle()) - - Text(contactsManager.lastSearchSuggestions[index].address?.username ?? "") - .default_text_style(styleSize: 16) - .frame(maxWidth: .infinity, alignment: .leading) - .foregroundStyle(Color.orangeMain500) + && contactsManager.lastSearchSuggestions[index].address != nil { + if contactsManager.lastSearchSuggestions[index].address!.displayName != nil { + Image(uiImage: contactsManager.textToImage( + firstName: contactsManager.lastSearchSuggestions[index].address!.displayName!, + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(contactsManager.lastSearchSuggestions[index].address?.displayName ?? "") + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } else if contactsManager.lastSearchSuggestions[index].address!.username != nil { + Image(uiImage: contactsManager.textToImage( + firstName: contactsManager.lastSearchSuggestions[index].address!.username!, + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(contactsManager.lastSearchSuggestions[index].address!.username ?? "") + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } else { + Image(uiImage: contactsManager.textToImage( + firstName: String(contactsManager.lastSearchSuggestions[index].address!.asStringUriOnly().dropFirst(4)), + lastName: "")) + .resizable() + .frame(width: 45, height: 45) + .clipShape(Circle()) + + Text(String(contactsManager.lastSearchSuggestions[index].address!.asStringUriOnly().dropFirst(4))) + .default_text_style(styleSize: 16) + .frame(maxWidth: .infinity, alignment: .leading) + .foregroundStyle(Color.orangeMain500) + } } else { Image("profil-picture-default") .resizable() diff --git a/Linphone/Utils/Extensions/AccountExtension.swift b/Linphone/Utils/Extensions/AccountExtension.swift index 7ae58904b..2afd31aeb 100644 --- a/Linphone/Utils/Extensions/AccountExtension.swift +++ b/Linphone/Utils/Extensions/AccountExtension.swift @@ -31,7 +31,7 @@ extension Account { if address.username != nil && !address.username!.isEmpty { return address.username! } - return address.asStringUriOnly() + return String(address.asStringUriOnly().dropFirst(4)) } static func == (lhs: Account, rhs: Account) -> Bool { diff --git a/msgNotificationService/NotificationService.swift b/msgNotificationService/NotificationService.swift index 472397311..3ce9c2888 100644 --- a/msgNotificationService/NotificationService.swift +++ b/msgNotificationService/NotificationService.swift @@ -131,7 +131,7 @@ class NotificationService: UNNotificationServiceExtension { } else if chatRoom.peerAddress!.username != nil { bestAttemptContent.body = chatRoom.peerAddress!.username! } else { - bestAttemptContent.body = "Peer Address Error" + bestAttemptContent.body = String(chatRoom.peerAddress!.asStringUriOnly().dropFirst(4)) } } else { bestAttemptContent.body = "Peer Address Error"