From 797df0a2d7025405012ba4ef51e83e24059bfcd0 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 11 Sep 2019 22:49:19 +0200 Subject: [PATCH] adding a helper function for retrieving contact duplicates --- .../contacts/pro/activities/ViewContactActivity.kt | 10 +++------- .../contacts/pro/helpers/ContactsHelper.kt | 9 +++++++++ 2 files changed, 12 insertions(+), 7 deletions(-) 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) + } + } + } }