Skip to content

Commit

Permalink
Merge pull request #34 from FossifyOrg/fix_automatic_import
Browse files Browse the repository at this point in the history
Fix automatic backup
  • Loading branch information
naveensingh authored Jan 25, 2024
2 parents e4a2be3 + 199889b commit 25f9dbf
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 14 deletions.
20 changes: 11 additions & 9 deletions app/src/main/kotlin/org/fossify/contacts/extensions/Context.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@ import androidx.core.app.AlarmManagerCompat
import androidx.core.content.FileProvider
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.*
import org.fossify.commons.models.contacts.Contact
import org.fossify.contacts.BuildConfig
import org.fossify.contacts.R
import org.fossify.contacts.helpers.AUTOMATIC_BACKUP_REQUEST_CODE
import org.fossify.contacts.helpers.Config
import org.fossify.contacts.helpers.VcfExporter
import org.fossify.contacts.helpers.getNextAutoBackupTime
import org.fossify.contacts.helpers.getPreviousAutoBackupTime
import org.fossify.contacts.receivers.AutomaticBackupReceiver
Expand Down Expand Up @@ -129,15 +131,15 @@ fun Context.backupContacts() {
return@getContactsToExport
}

val exportResult = try {
ContactsHelper(this).exportContacts(contactsToBackup, outputStream)
} catch (e: Exception) {
showErrorToast(e)
}

when (exportResult) {
ExportResult.EXPORT_OK -> toast(org.fossify.commons.R.string.exporting_successful)
else -> toast(org.fossify.commons.R.string.exporting_failed)
VcfExporter().exportContacts(
context = this,
outputStream = outputStream,
contacts = contactsToBackup.toMutableList() as ArrayList<Contact>,
showExportingToast = false
) { exportResult ->
if (exportResult == VcfExporter.ExportResult.EXPORT_FAIL) {
toast(org.fossify.commons.R.string.exporting_failed)
}
}

config.lastAutoBackupTime = DateTime.now().millis
Expand Down
10 changes: 5 additions & 5 deletions app/src/main/kotlin/org/fossify/contacts/helpers/VcfExporter.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.fossify.contacts.helpers

import android.content.Context
import android.net.Uri
import android.provider.ContactsContract.CommonDataKinds.Email
import android.provider.ContactsContract.CommonDataKinds.Event
Expand All @@ -12,7 +13,6 @@ import ezvcard.VCard
import ezvcard.VCardVersion
import ezvcard.parameter.ImageType
import ezvcard.property.*
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.extensions.getByteArray
import org.fossify.commons.extensions.getDateTimeFromDateString
import org.fossify.commons.extensions.showErrorToast
Expand All @@ -31,7 +31,7 @@ class VcfExporter {
private var contactsFailed = 0

fun exportContacts(
activity: BaseSimpleActivity,
context: Context,
outputStream: OutputStream?,
contacts: ArrayList<Contact>,
showExportingToast: Boolean,
Expand All @@ -45,7 +45,7 @@ class VcfExporter {
}

if (showExportingToast) {
activity.toast(org.fossify.commons.R.string.exporting)
context.toast(org.fossify.commons.R.string.exporting)
}

val cards = ArrayList<VCard>()
Expand Down Expand Up @@ -146,7 +146,7 @@ class VcfExporter {
}

if (contact.thumbnailUri.isNotEmpty()) {
val photoByteArray = MediaStore.Images.Media.getBitmap(activity.contentResolver, Uri.parse(contact.thumbnailUri)).getByteArray()
val photoByteArray = MediaStore.Images.Media.getBitmap(context.contentResolver, Uri.parse(contact.thumbnailUri)).getByteArray()
val photo = Photo(photoByteArray, ImageType.JPEG)
card.addPhoto(photo)
}
Expand All @@ -166,7 +166,7 @@ class VcfExporter {

Ezvcard.write(cards).version(version).go(outputStream)
} catch (e: Exception) {
activity.showErrorToast(e)
context.showErrorToast(e)
}

callback(
Expand Down

0 comments on commit 25f9dbf

Please sign in to comment.