diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt index 7286dde5..22acb921 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt @@ -477,14 +477,10 @@ class ViewContactActivity : ContactActivity() { } addContactSource(contact!!) - ensureBackgroundThread { - ContactsHelper(this).getContacts { contacts -> + ContactsHelper(this).getDuplicatesOfContact(contact!!) { contacts -> + runOnUiThread { contacts.forEach { - if (it.id != contact!!.id && it.getHashToCompare() == contact!!.getHashToCompare()) { - runOnUiThread { - addContactSource(it) - } - } + addContactSource(it) } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/ContactsHelper.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/ContactsHelper.kt index 30d247d9..55a58655 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/ContactsHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/ContactsHelper.kt @@ -1561,4 +1561,13 @@ class ContactsHelper(val context: Context) { context.showErrorToast(e) } } + + fun getDuplicatesOfContact(contact: Contact, callback: (ArrayList) -> Unit) { + ensureBackgroundThread { + getContacts { contacts -> + val duplicates = contacts.filter { it.id != contact.id && it.getHashToCompare() == contact.getHashToCompare() }.toMutableList() as ArrayList + callback(duplicates) + } + } + } }