From 7f11945af40e71ec4f6d74efb7210b5f15e4b818 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 22 Feb 2018 16:23:04 +0100 Subject: [PATCH] make fetching some fields optional, used only at exporting --- .../contacts/activities/MainActivity.kt | 2 +- .../contacts/helpers/ContactsHelper.kt | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt index 4181dc2c..68cc440d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/MainActivity.kt @@ -358,7 +358,7 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { FilePickerDialog(this, pickFile = false, showFAB = true) { ExportContactsDialog(this, it) { file, contactSources -> Thread { - ContactsHelper(this).getContacts { + ContactsHelper(this).getContacts(true) { val contacts = it.filter { contactSources.contains(it.source) } if (contacts.isEmpty()) { toast(R.string.no_entries_for_exporting) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt index 83283a2f..b224dd67 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt @@ -29,7 +29,7 @@ import com.simplemobiletools.contacts.extensions.getPhotoThumbnailSize import com.simplemobiletools.contacts.models.* class ContactsHelper(val activity: BaseSimpleActivity) { - fun getContacts(callback: (ArrayList) -> Unit) { + fun getContacts(addOptionalFields: Boolean = false, callback: (ArrayList) -> Unit) { val contacts = SparseArray() Thread { val uri = ContactsContract.Data.CONTENT_URI @@ -75,22 +75,22 @@ class ContactsHelper(val activity: BaseSimpleActivity) { contacts[key]?.phoneNumbers = phoneNumbers.valueAt(i) } - val emails = getEmails() - size = emails.size() - for (i in 0 until size) { - val key = emails.keyAt(i) - contacts[key]?.emails = emails.valueAt(i) - } + if (addOptionalFields) { + val emails = getEmails() + size = emails.size() + for (i in 0 until size) { + val key = emails.keyAt(i) + contacts[key]?.emails = emails.valueAt(i) + } - val addresses = getAddresses() - size = addresses.size() - for (i in 0 until size) { - val key = addresses.keyAt(i) - contacts[key]?.addresses = addresses.valueAt(i) + val addresses = getAddresses() + size = addresses.size() + for (i in 0 until size) { + val key = addresses.keyAt(i) + contacts[key]?.addresses = addresses.valueAt(i) + } } - //getNotes() - activity.dbHelper.getContacts().forEach { contacts.put(it.id, it) }