mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-06-05 21:59:17 +02:00
implement the database exporting functionality
This commit is contained in:
@@ -36,6 +36,7 @@ import com.simplemobiletools.commons.helpers.LICENSE_STETHO
|
|||||||
import com.simplemobiletools.commons.models.Release
|
import com.simplemobiletools.commons.models.Release
|
||||||
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.activity_main.*
|
||||||
import org.joda.time.DateTime
|
import org.joda.time.DateTime
|
||||||
|
import java.io.*
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class MainActivity : SimpleActivity(), NavigationListener {
|
class MainActivity : SimpleActivity(), NavigationListener {
|
||||||
@@ -238,7 +239,49 @@ class MainActivity : SimpleActivity(), NavigationListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun exportDatabase() {
|
private fun exportDatabase() {
|
||||||
|
FilePickerDialog(this, pickFile = false) {
|
||||||
|
val source = getDatabasePath(DBHelper.DB_NAME)
|
||||||
|
val destination = File(it, DBHelper.DB_NAME)
|
||||||
|
if (isShowingPermDialog(destination)) {
|
||||||
|
return@FilePickerDialog
|
||||||
|
}
|
||||||
|
|
||||||
|
Thread({
|
||||||
|
if (source.exists()) {
|
||||||
|
val inputStream = FileInputStream(source)
|
||||||
|
val outputStream: OutputStream?
|
||||||
|
|
||||||
|
if (needsStupidWritePermissions(destination.absolutePath)) {
|
||||||
|
var document = getFileDocument(destination.absolutePath, config.treeUri)
|
||||||
|
if (!destination.exists()) {
|
||||||
|
document = document.createFile("", destination.name)
|
||||||
|
}
|
||||||
|
outputStream = contentResolver.openOutputStream(document.uri)
|
||||||
|
} else {
|
||||||
|
outputStream = FileOutputStream(destination)
|
||||||
|
}
|
||||||
|
|
||||||
|
copyStream(inputStream, outputStream)
|
||||||
|
inputStream.close()
|
||||||
|
outputStream?.close()
|
||||||
|
|
||||||
|
runOnUiThread {
|
||||||
|
toast(R.string.database_exported_successfully)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).start()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun copyStream(inputStream: InputStream, out: OutputStream?) {
|
||||||
|
val buf = ByteArray(1024)
|
||||||
|
var len: Int
|
||||||
|
while (true) {
|
||||||
|
len = inputStream.read(buf)
|
||||||
|
if (len <= 0)
|
||||||
|
break
|
||||||
|
out?.write(buf, 0, len)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun launchSettings() {
|
private fun launchSettings() {
|
||||||
|
@@ -49,8 +49,8 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||||||
private val mDb: SQLiteDatabase = writableDatabase
|
private val mDb: SQLiteDatabase = writableDatabase
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val DB_NAME = "events.db"
|
|
||||||
private val DB_VERSION = 7
|
private val DB_VERSION = 7
|
||||||
|
val DB_NAME = "events.db"
|
||||||
val REGULAR_EVENT_ID = 1
|
val REGULAR_EVENT_ID = 1
|
||||||
|
|
||||||
private var mEventsListener: EventUpdateListener? = null
|
private var mEventsListener: EventUpdateListener? = null
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Título</string>
|
<string name="title">Título</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">einige Termine wurden nicht erfolgreich importiert</string>
|
<string name="importing_some_events_failed">einige Termine wurden nicht erfolgreich importiert</string>
|
||||||
<string name="invalid_file_format">ungültiges Dateiformat</string>
|
<string name="invalid_file_format">ungültiges Dateiformat</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Titel</string>
|
<string name="title">Titel</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Título</string>
|
<string name="title">Título</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Titre</string>
|
<string name="title">Titre</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Título</string>
|
<string name="title">Título</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">शीर्षक</string>
|
<string name="title">शीर्षक</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Név</string>
|
<string name="title">Név</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Titolo</string>
|
<string name="title">Titolo</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">כותרת</string>
|
<string name="title">כותרת</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">タイトル</string>
|
<string name="title">タイトル</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Alguns eventos não foram importados</string>
|
<string name="importing_some_events_failed">Alguns eventos não foram importados</string>
|
||||||
<string name="invalid_file_format">Formato de ficheiro inválido</string>
|
<string name="invalid_file_format">Formato de ficheiro inválido</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Título</string>
|
<string name="title">Título</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Ошибка импорта</string>
|
<string name="importing_some_events_failed">Ошибка импорта</string>
|
||||||
<string name="invalid_file_format">Неправильный формат файла</string>
|
<string name="invalid_file_format">Неправильный формат файла</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Заголовок</string>
|
<string name="title">Заголовок</string>
|
||||||
|
@@ -104,6 +104,7 @@
|
|||||||
<string name="importing_some_events_failed">Importovanie niektorých udalostí zlyhalo</string>
|
<string name="importing_some_events_failed">Importovanie niektorých udalostí zlyhalo</string>
|
||||||
<string name="invalid_file_format">Nesprávny formát súboru</string>
|
<string name="invalid_file_format">Nesprávny formát súboru</string>
|
||||||
<string name="export_raw_database">Exportovať surovú databázu</string>
|
<string name="export_raw_database">Exportovať surovú databázu</string>
|
||||||
|
<string name="database_exported_successfully">Databáza bola úspešne exportovaná</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Názov</string>
|
<string name="title">Názov</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Titel</string>
|
<string name="title">Titel</string>
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||||
<string name="invalid_file_format">Invalid file format</string>
|
<string name="invalid_file_format">Invalid file format</string>
|
||||||
<string name="export_raw_database">Export raw database</string>
|
<string name="export_raw_database">Export raw database</string>
|
||||||
|
<string name="database_exported_successfully">Database exported successfully</string>
|
||||||
|
|
||||||
<!-- Event details -->
|
<!-- Event details -->
|
||||||
<string name="title">Title</string>
|
<string name="title">Title</string>
|
||||||
|
Reference in New Issue
Block a user