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 aeee4c3b..77e7a8da 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 @@ -113,6 +113,17 @@ 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) @@ -201,7 +212,7 @@ class ViewContactActivity : ContactActivity() { setupOrganization() setupWebsites() setupGroups() - setupContactSource(contact!!.source) + addContactSource(contact!!.source) } private fun editContact() { @@ -469,7 +480,7 @@ class ViewContactActivity : ContactActivity() { } } - private fun setupContactSource(source: String) { + 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 { getPublicContactSource(source) { diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/Contact.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/Contact.kt index 1662cf78..df352182 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/Contact.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/Contact.kt @@ -112,7 +112,7 @@ data class Contact(var id: Int, var prefix: String, var firstName: String, var m emails.mapTo(newEmails) { Email(it.value, 0, "") } return copy(id = 0, prefix = "", firstName = getNameToDisplay().toLowerCase(), middleName = "", surname = "", suffix = "", nickname = "", photoUri = "", - phoneNumbers = ArrayList(), events = ArrayList(), addresses = ArrayList(), emails = newEmails, starred = 0, contactId = 0, + phoneNumbers = ArrayList(), events = ArrayList(), source = "", addresses = ArrayList(), emails = newEmails, starred = 0, contactId = 0, thumbnailUri = "", notes = "", groups = ArrayList(), websites = ArrayList(), organization = Organization("", ""), IMs = ArrayList()).toString() }