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 22acb921..0c8f37b2 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,7 +477,7 @@ class ViewContactActivity : ContactActivity() { } addContactSource(contact!!) - ContactsHelper(this).getDuplicatesOfContact(contact!!) { contacts -> + ContactsHelper(this).getDuplicatesOfContact(contact!!, false) { contacts -> runOnUiThread { contacts.forEach { 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 55a58655..b8f461ee 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 @@ -1524,13 +1524,9 @@ class ContactsHelper(val context: Context) { LocalContactsHelper(context).toggleFavorites(localContacts, addToFavorites) } - fun deleteContact(contact: Contact) { - ensureBackgroundThread { - if (contact.isPrivate()) { - context.contactsDB.deleteContactId(contact.id) - } else { - deleteContacts(arrayListOf(contact)) - } + fun deleteContact(originalContact: Contact) { + getDuplicatesOfContact(originalContact, true) { contacts -> + deleteContacts(contacts) } } @@ -1562,10 +1558,13 @@ class ContactsHelper(val context: Context) { } } - fun getDuplicatesOfContact(contact: Contact, callback: (ArrayList) -> Unit) { + fun getDuplicatesOfContact(contact: Contact, addOriginal: Boolean, callback: (ArrayList) -> Unit) { ensureBackgroundThread { getContacts { contacts -> val duplicates = contacts.filter { it.id != contact.id && it.getHashToCompare() == contact.getHashToCompare() }.toMutableList() as ArrayList + if (addOriginal) { + duplicates.add(contact) + } callback(duplicates) } }