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 77e7a8da..353d6040 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 @@ -114,16 +114,6 @@ class ViewContactActivity : ContactActivity() { if (contactId != 0 && !wasLookupKeyUsed) { contact = ContactsHelper(this).getContactWithId(contactId, intent.getBooleanExtra(IS_PRIVATE, false)) - if (contact != null) { - ContactsHelper(this).getContacts { contacts -> - contacts.forEach { - if (it.id != contact!!.id && it.getHashToCompare() == contact!!.getHashToCompare()) { - addContactSource(it.source) - } - } - } - } - if (contact == null) { if (!wasEditLaunched) { toast(R.string.unknown_error_occurred) @@ -212,7 +202,7 @@ class ViewContactActivity : ContactActivity() { setupOrganization() setupWebsites() setupGroups() - addContactSource(contact!!.source) + addContactSources() } private fun editContact() { @@ -480,6 +470,22 @@ class ViewContactActivity : ContactActivity() { } } + private fun addContactSources() { + contact_sources_holder.removeAllViews() + addContactSource(contact!!.source) + ensureBackgroundThread { + ContactsHelper(this).getContacts { contacts -> + contacts.forEach { + if (it.id != contact!!.id && it.getHashToCompare() == contact!!.getHashToCompare()) { + runOnUiThread { + addContactSource(it.source) + } + } + } + } + } + } + private fun addContactSource(source: String) { if (showFields and SHOW_CONTACT_SOURCE_FIELD != 0) { layoutInflater.inflate(R.layout.item_view_contact_source, contact_sources_holder, false).apply {