From ed9f590f4faf8c88b635febc51fd7736ac2b4222 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 17 Mar 2022 16:40:28 +0100 Subject: [PATCH] Always display contacts with same phone number if display name is different --- .../main/contact/viewmodels/ContactsListViewModel.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactsListViewModel.kt b/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactsListViewModel.kt index 77244dd64..2af6ac4a7 100644 --- a/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactsListViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/contact/viewmodels/ContactsListViewModel.kt @@ -34,6 +34,7 @@ import org.linphone.contact.NativeContact import org.linphone.core.* import org.linphone.core.tools.Log import org.linphone.utils.Event +import org.linphone.utils.LinphoneUtils class ContactsListViewModel : ViewModel() { val sipContactsSelected = MutableLiveData() @@ -217,7 +218,9 @@ class ContactsListViewModel : ViewModel() { private fun searchMatchingContact(searchResult: SearchResult): Contact? { val friend = searchResult.friend + var displayName = "" if (friend != null) { + displayName = friend.name ?: "" val contact: Contact? = friend.userData as? Contact if (contact != null) return contact @@ -227,13 +230,15 @@ class ContactsListViewModel : ViewModel() { val address = searchResult.address if (address != null) { + if (displayName == "") displayName = LinphoneUtils.getDisplayName(address) val contact = coreContext.contactsManager.findContactByAddress(address, ignoreLocalContact = true) if (contact != null) return contact } val phoneNumber = searchResult.phoneNumber if (phoneNumber != null) { - return coreContext.contactsManager.findContactByPhoneNumber(phoneNumber) + val contact = coreContext.contactsManager.findContactByPhoneNumber(phoneNumber) + if (contact != null && contact.fullName != displayName) return contact } return null