handle SAF dialog when exporting to sd card

This commit is contained in:
tibbi 2017-05-06 12:03:00 +02:00
parent a7d65e5132
commit 5dff7a7140
1 changed files with 21 additions and 19 deletions

View File

@ -279,26 +279,28 @@ class MainActivity : SimpleActivity(), NavigationListener {
private fun exportEvents() {
FilePickerDialog(this, pickFile = false) {
val path = it
ExportEventsDialog(this, path) {
Thread({
val events = dbHelper.getEventsToExport(it)
if (events.isEmpty()) {
runOnUiThread {
toast(R.string.no_events_for_exporting)
handleSAFDialog(File(path)) {
ExportEventsDialog(this, path) {
Thread({
val events = dbHelper.getEventsToExport(it)
if (events.isEmpty()) {
runOnUiThread {
toast(R.string.no_events_for_exporting)
}
} else {
val filename = "events_${System.currentTimeMillis() / 1000}.ics"
val file = File(path, filename)
val result = IcsExporter().exportEvents(this, file, events)
runOnUiThread {
toast(when (result) {
IcsExporter.ExportResult.EXPORT_OK -> R.string.events_exported_successfully
IcsExporter.ExportResult.EXPORT_PARTIAL -> R.string.exporting_some_events_failed
else -> R.string.exporting_events_failed
})
}
}
} else {
val filename = "events_${System.currentTimeMillis() / 1000}.ics"
val file = File(path, filename)
val result = IcsExporter().exportEvents(this, file, events)
runOnUiThread {
toast(when (result) {
IcsExporter.ExportResult.EXPORT_OK -> R.string.events_exported_successfully
IcsExporter.ExportResult.EXPORT_PARTIAL -> R.string.exporting_some_events_failed
else -> R.string.exporting_events_failed
})
}
}
}).start()
}).start()
}
}
}
}