diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt index e441ed4f..1ddb3d2c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt @@ -140,20 +140,30 @@ class EditContactActivity : ContactActivity() { } if (contactId != 0) { - contact = ContactsHelper(this).getContactWithId(contactId, intent.getBooleanExtra(IS_PRIVATE, false)) - if (contact == null) { - toast(R.string.unknown_error_occurred) - finish() - return - } + Thread { + contact = ContactsHelper(this).getContactWithId(contactId, intent.getBooleanExtra(IS_PRIVATE, false)) + if (contact == null) { + toast(R.string.unknown_error_occurred) + finish() + } else { + runOnUiThread { + gotContact() + } + } + }.start() + } else { + gotContact() } + } + private fun gotContact() { if (contact == null) { setupNewContact() } else { setupEditContact() } + val action = intent.action if ((contact!!.id == 0 && intent.extras != null && intent.extras.containsKey(KEY_PHONE) && action == Intent.ACTION_INSERT) || action == ADD_NEW_CONTACT_NUMBER) { val phone = intent.extras.get(KEY_PHONE) if (phone != null) { 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 386aaa2d..c75b96f8 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 @@ -98,21 +98,28 @@ class ViewContactActivity : ContactActivity() { } if (contactId != 0 && !wasLookupKeyUsed) { - contact = ContactsHelper(this).getContactWithId(contactId, intent.getBooleanExtra(IS_PRIVATE, false)) + Thread { + contact = ContactsHelper(this).getContactWithId(contactId, intent.getBooleanExtra(IS_PRIVATE, false)) + if (contact == null) { + toast(R.string.unknown_error_occurred) + finish() + } else { + runOnUiThread { + gotContact() + } + } + }.start() + } else { if (contact == null) { - toast(R.string.unknown_error_occurred) finish() - return + } else { + gotContact() } } + } - if (contact == null) { - finish() - return - } - + private fun gotContact() { setupViewContact() - contact_send_sms.beVisibleIf(contact!!.phoneNumbers.isNotEmpty()) contact_start_call.beVisibleIf(contact!!.phoneNumbers.isNotEmpty()) contact_send_email.beVisibleIf(contact!!.emails.isNotEmpty())