@@ -6,11 +6,9 @@ import android.provider.ContactsContract.CommonDataKinds
66import android.provider.MediaStore
77import android.util.Base64
88import com.simplemobiletools.commons.activities.BaseSimpleActivity
9- import com.simplemobiletools.commons.extensions.getFileOutputStream
10- import com.simplemobiletools.commons.extensions.showErrorToast
11- import com.simplemobiletools.commons.extensions.toFileDirItem
12- import com.simplemobiletools.commons.extensions.writeLn
13- import com.simplemobiletools.contacts.helpers.VcfExporter.ExportResult.*
9+ import com.simplemobiletools.commons.extensions.*
10+ import com.simplemobiletools.contacts.R
11+ import com.simplemobiletools.contacts.helpers.VcfExporter.ExportResult.EXPORT_FAIL
1412import com.simplemobiletools.contacts.models.Contact
1513import java.io.BufferedWriter
1614import java.io.ByteArrayOutputStream
@@ -26,14 +24,18 @@ class VcfExporter {
2624 private var contactsExported = 0
2725 private var contactsFailed = 0
2826
29- fun exportContacts (activity : BaseSimpleActivity , file : File , contacts : ArrayList <Contact >, callback : (result: ExportResult ) -> Unit ) {
30- try {
31- activity.getFileOutputStream(file.toFileDirItem(activity)) {
27+ fun exportContacts (activity : BaseSimpleActivity , file : File , contacts : ArrayList <Contact >, showExportingToast : Boolean , callback : (result: ExportResult ) -> Unit ) {
28+ activity.getFileOutputStream(file.toFileDirItem(activity), true ) {
29+ try {
3230 if (it == null ) {
3331 callback(EXPORT_FAIL )
3432 return @getFileOutputStream
3533 }
3634
35+ if (showExportingToast) {
36+ activity.toast(R .string.exporting)
37+ }
38+
3739 it.bufferedWriter().use { out ->
3840 for (contact in contacts) {
3941 out .writeLn(BEGIN_VCARD )
@@ -88,16 +90,17 @@ class VcfExporter {
8890 contactsExported++
8991 }
9092 }
93+
94+ } catch (e: Exception ) {
95+ activity.showErrorToast(e)
9196 }
92- } catch (e: Exception ) {
93- activity.showErrorToast(e)
94- }
9597
96- callback(when {
97- contactsExported == 0 -> EXPORT_FAIL
98- contactsFailed > 0 -> EXPORT_PARTIAL
99- else -> EXPORT_OK
100- })
98+ callback(when {
99+ contactsExported == 0 -> EXPORT_FAIL
100+ contactsFailed > 0 -> ExportResult .EXPORT_PARTIAL
101+ else -> ExportResult .EXPORT_OK
102+ })
103+ }
101104 }
102105
103106 private fun addBitmap (bitmap : Bitmap , out : BufferedWriter ) {
0 commit comments