From 4bb2412569a40e73642217a24727759e0a94d8ff Mon Sep 17 00:00:00 2001 From: Guflly <145608489+Guflly@users.noreply.github.com> Date: Fri, 7 Aug 2026 22:02:50 -0700 Subject: [PATCH] fix: include organizations in speed dial search --- .../phone/dialogs/SelectContactDialog.kt | 7 +++++-- .../org/fossify/phone/extensions/Contact.kt | 17 +++++++++++++++++ .../fossify/phone/fragments/ContactsFragment.kt | 14 ++------------ 3 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 app/src/main/kotlin/org/fossify/phone/extensions/Contact.kt diff --git a/app/src/main/kotlin/org/fossify/phone/dialogs/SelectContactDialog.kt b/app/src/main/kotlin/org/fossify/phone/dialogs/SelectContactDialog.kt index 20e556390..9f16c5613 100644 --- a/app/src/main/kotlin/org/fossify/phone/dialogs/SelectContactDialog.kt +++ b/app/src/main/kotlin/org/fossify/phone/dialogs/SelectContactDialog.kt @@ -12,6 +12,7 @@ import org.fossify.phone.R import org.fossify.phone.activities.SimpleActivity import org.fossify.phone.adapters.ContactsAdapter import org.fossify.phone.databinding.DialogSelectContactBinding +import org.fossify.phone.extensions.matchesSearchQuery import org.fossify.phone.extensions.setupWithContacts class SelectContactDialog(val activity: SimpleActivity, val contacts: List, val callback: (selectedContact: Contact) -> Unit) { @@ -97,8 +98,10 @@ class SelectContactDialog(val activity: SimpleActivity, val contacts: List - getProperText(contact.getNameToDisplay(), shouldNormalize).contains(fixedText, true) || - getProperText(contact.nickname, shouldNormalize).contains(fixedText, true) || - (fixedText.toLongOrNull() != null && contact.doesContainPhoneNumber(fixedText, true)) || - contact.emails.any { it.value.contains(fixedText, true) } || - contact.addresses.any { getProperText(it.value, shouldNormalize).contains(fixedText, true) } || - contact.IMs.any { it.value.contains(fixedText, true) } || - getProperText(contact.notes, shouldNormalize).contains(fixedText, true) || - getProperText(contact.organization.company, shouldNormalize).contains(fixedText, true) || - getProperText(contact.organization.jobPosition, shouldNormalize).contains(fixedText, true) || - contact.websites.any { it.contains(fixedText, true) } - } as ArrayList + val filtered = allContacts.filter { it.matchesSearchQuery(fixedText, shouldNormalize) } as ArrayList filtered.sortBy { val nameToDisplay = it.getNameToDisplay()