From 728678a02c903942af15a4ca91c500e3eb00d671 Mon Sep 17 00:00:00 2001 From: QuentinArguillere Date: Thu, 11 Apr 2024 17:46:30 +0200 Subject: [PATCH] update getAvatarModelFromAddress function to handle case where the address does not match any friend --- .../Contacts/Model/ContactAvatarModel.swift | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/Linphone/UI/Main/Contacts/Model/ContactAvatarModel.swift b/Linphone/UI/Main/Contacts/Model/ContactAvatarModel.swift index 6f388a320..9f7ba90c0 100644 --- a/Linphone/UI/Main/Contacts/Model/ContactAvatarModel.swift +++ b/Linphone/UI/Main/Contacts/Model/ContactAvatarModel.swift @@ -115,22 +115,19 @@ class ContactAvatarModel: ObservableObject { } static func getAvatarModelFromAddress(address: Address) -> ContactAvatarModel { - - let addressFriend = ContactsManager.shared.getFriendWithAddress(address: address) - var avatarModel = ContactsManager.shared.avatarListModel.first(where: { - $0.friend!.name == addressFriend!.name - && $0.friend!.address!.asStringUriOnly() == address.asStringUriOnly() - }) - - if avatarModel == nil { - var nameTmp = "" - if addressFriend != nil { - nameTmp = addressFriend!.name! - } else { - nameTmp = address.displayName != nil ? address.displayName! : address.username! + if let addressFriend = ContactsManager.shared.getFriendWithAddress(address: address) { + var avatarModel = ContactsManager.shared.avatarListModel.first(where: { + $0.friend!.name == addressFriend.name + && $0.friend!.address!.asStringUriOnly() == address.asStringUriOnly() + }) + + if avatarModel == nil { + avatarModel = ContactAvatarModel(friend: nil, name: addressFriend.name!, withPresence: false) } - avatarModel = ContactAvatarModel(friend: nil, name: nameTmp, withPresence: false) + return avatarModel! + } else { + let name = address.displayName != nil ? address.displayName! : address.username! + return ContactAvatarModel(friend: nil, name: name, withPresence: false) } - return avatarModel! } }