From 37016b53cbd20478fb586efc30dd28c97a90da79 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 9 Sep 2018 14:59:26 +0200 Subject: [PATCH] minor code cleanup at importing/exporting --- .../contacts/helpers/VcfExporter.kt | 2 +- .../contacts/helpers/VcfImporter.kt | 56 ++++++++++--------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfExporter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfExporter.kt index 5800e3c3..3a3dfb92 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfExporter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfExporter.kt @@ -139,7 +139,7 @@ class VcfExporter { card.addPhoto(photo) } - if (contact.groups.size > 0) { + if (contact.groups.isNotEmpty()) { val groupList = Categories() contact.groups.forEach { groupList.values.add(it.title) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfImporter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfImporter.kt index a2bba934..f186505b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfImporter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/VcfImporter.kt @@ -5,7 +5,6 @@ import android.graphics.BitmapFactory import android.provider.ContactsContract.CommonDataKinds import android.widget.Toast import com.simplemobiletools.commons.extensions.showErrorToast -import com.simplemobiletools.contacts.R import com.simplemobiletools.contacts.activities.SimpleActivity import com.simplemobiletools.contacts.extensions.dbHelper import com.simplemobiletools.contacts.extensions.getCachePhoto @@ -13,6 +12,7 @@ import com.simplemobiletools.contacts.extensions.getCachePhotoUri import com.simplemobiletools.contacts.helpers.VcfImporter.ImportResult.* import com.simplemobiletools.contacts.models.* import ezvcard.Ezvcard +import ezvcard.VCard import org.joda.time.DateTime import org.joda.time.format.DateTimeFormat import java.io.File @@ -104,36 +104,11 @@ class VcfImporter(val activity: SimpleActivity) { val starred = 0 val contactId = 0 val notes = ezContact.notes.firstOrNull()?.value ?: "" - val groups = ArrayList() - - if (ezContact.categories != null) { - val groupNames = ezContact.categories.values - - if (groupNames != null) { - val storedGroups = ContactsHelper(activity).getStoredGroups() - - groupNames.forEach { - val groupName = it - val storedGroup = storedGroups.firstOrNull { it.title == groupName } - - if (storedGroup != null) { - groups.add(storedGroup) - } - else { - val newcontactGroup = activity.dbHelper.insertGroup(Group(0, groupName)) - - if (newcontactGroup != null) - groups.add(newcontactGroup) - } - } - } - } - + val groups = getContactGroups(ezContact) val company = ezContact.organization?.values?.firstOrNull() ?: "" val jobPosition = ezContact.titles?.firstOrNull()?.value ?: "" val organization = Organization(company, jobPosition) val websites = ezContact.urls.map { it.value } as ArrayList - val photoData = ezContact.photos.firstOrNull()?.data val photo = null val thumbnailUri = savePhoto(photoData) @@ -184,6 +159,33 @@ class VcfImporter(val activity: SimpleActivity) { return dateTime.toString("yyyy-MM-dd") } + private fun getContactGroups(ezContact: VCard): ArrayList { + val groups = ArrayList() + if (ezContact.categories != null) { + val groupNames = ezContact.categories.values + + if (groupNames != null) { + val storedGroups = ContactsHelper(activity).getStoredGroups() + + groupNames.forEach { + val groupName = it + val storedGroup = storedGroups.firstOrNull { it.title == groupName } + + if (storedGroup != null) { + groups.add(storedGroup) + } else { + val newContactGroup = activity.dbHelper.insertGroup(Group(0, groupName)) + + if (newContactGroup != null) { + groups.add(newContactGroup) + } + } + } + } + } + return groups + } + private fun getPhoneNumberTypeId(type: String, subtype: String?) = when (type.toUpperCase()) { CELL -> CommonDataKinds.Phone.TYPE_MOBILE HOME -> {