Add progress callbacks to importer and exporter, not used yet
This commit is contained in:
parent
d78776e288
commit
24d9988ec1
6 changed files with 101 additions and 38 deletions
|
|
@ -1,5 +1,6 @@
|
|||
package com.simplemobiletools.smsmessenger.dialogs
|
||||
|
||||
import android.util.Log
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
|
|
@ -9,6 +10,7 @@ import com.simplemobiletools.smsmessenger.R
|
|||
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
|
||||
import com.simplemobiletools.smsmessenger.extensions.config
|
||||
import com.simplemobiletools.smsmessenger.helpers.MessagesImporter
|
||||
import com.simplemobiletools.smsmessenger.helpers.MessagesImporter.ImportResult.*
|
||||
import kotlinx.android.synthetic.main.dialog_import_messages.view.import_mms_checkbox
|
||||
import kotlinx.android.synthetic.main.dialog_import_messages.view.import_sms_checkbox
|
||||
|
||||
|
|
@ -18,6 +20,7 @@ class ImportMessagesDialog(
|
|||
private val callback: (refresh: Boolean) -> Unit,
|
||||
) {
|
||||
|
||||
private val TAG = "ImportMessagesDialog"
|
||||
private val config = activity.config
|
||||
|
||||
init {
|
||||
|
|
@ -36,8 +39,10 @@ class ImportMessagesDialog(
|
|||
config.importSms = view.import_sms_checkbox.isChecked
|
||||
config.importMms = view.import_mms_checkbox.isChecked
|
||||
ensureBackgroundThread {
|
||||
MessagesImporter(activity).importMessages(path){
|
||||
|
||||
MessagesImporter(activity).importMessages(path, onProgress = { total: Int, current: Int ->
|
||||
Log.d(TAG, "PERCENTAGE: ${current.toDouble() * 100 / total.toDouble()}%")
|
||||
}) {
|
||||
handleParseResult(it)
|
||||
}
|
||||
dismiss()
|
||||
callback.invoke(true)
|
||||
|
|
@ -46,4 +51,15 @@ class ImportMessagesDialog(
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleParseResult(result: MessagesImporter.ImportResult) {
|
||||
activity.toast(
|
||||
when (result) {
|
||||
IMPORT_OK -> R.string.importing_successful
|
||||
IMPORT_PARTIAL -> R.string.importing_some_entries_failed
|
||||
else -> R.string.no_items_found
|
||||
}
|
||||
)
|
||||
callback(result != IMPORT_FAIL)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue