report all exceptions thrown during exporting contacts

This commit is contained in:
tibbi 2018-01-29 18:52:05 +01:00
parent b617676c34
commit 197eb7b60c
2 changed files with 53 additions and 47 deletions

View File

@ -69,6 +69,7 @@ fun Context.getContactUriRawId(uri: Uri): Int {
if (cursor.moveToFirst()) {
return cursor.getIntValue(ContactsContract.Contacts.NAME_RAW_CONTACT_ID)
}
} catch (ignored: Exception) {
} finally {
cursor?.close()
}

View File

@ -7,6 +7,7 @@ import android.provider.MediaStore
import android.util.Base64
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getFileOutputStream
import com.simplemobiletools.commons.extensions.showErrorToast
import com.simplemobiletools.commons.extensions.writeLn
import com.simplemobiletools.contacts.helpers.VcfExporter.ExportResult.*
import com.simplemobiletools.contacts.models.Contact
@ -24,6 +25,7 @@ class VcfExporter {
private var contactsFailed = 0
fun exportContacts(activity: BaseSimpleActivity, file: File, contacts: ArrayList<Contact>, callback: (result: ExportResult) -> Unit) {
try {
activity.getFileOutputStream(file) {
if (it == null) {
callback(EXPORT_FAIL)
@ -78,6 +80,9 @@ class VcfExporter {
}
}
}
} catch (e: Exception) {
activity.showErrorToast(e)
}
callback(when {
contactsExported == 0 -> EXPORT_FAIL