mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-03-10 00:10:04 +01:00
implement the database exporting functionality
This commit is contained in:
parent
06e5375882
commit
b8c7493beb
@ -36,6 +36,7 @@ import com.simplemobiletools.commons.helpers.LICENSE_STETHO
|
||||
import com.simplemobiletools.commons.models.Release
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import org.joda.time.DateTime
|
||||
import java.io.*
|
||||
import java.util.*
|
||||
|
||||
class MainActivity : SimpleActivity(), NavigationListener {
|
||||
@ -238,7 +239,49 @@ class MainActivity : SimpleActivity(), NavigationListener {
|
||||
}
|
||||
|
||||
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() {
|
||||
|
@ -49,8 +49,8 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
||||
private val mDb: SQLiteDatabase = writableDatabase
|
||||
|
||||
companion object {
|
||||
private val DB_NAME = "events.db"
|
||||
private val DB_VERSION = 7
|
||||
val DB_NAME = "events.db"
|
||||
val REGULAR_EVENT_ID = 1
|
||||
|
||||
private var mEventsListener: EventUpdateListener? = null
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<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="invalid_file_format">ungültiges Dateiformat</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Titel</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Título</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Titre</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Título</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">शीर्षक</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Név</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Titolo</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">כותרת</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">タイトル</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<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="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Título</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Ошибка импорта</string>
|
||||
<string name="invalid_file_format">Неправильный формат файла</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Заголовок</string>
|
||||
|
@ -104,6 +104,7 @@
|
||||
<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="export_raw_database">Exportovať surovú databázu</string>
|
||||
<string name="database_exported_successfully">Databáza bola úspešne exportovaná</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Názov</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Titel</string>
|
||||
|
@ -97,6 +97,7 @@
|
||||
<string name="importing_some_events_failed">Importing some events failed</string>
|
||||
<string name="invalid_file_format">Invalid file format</string>
|
||||
<string name="export_raw_database">Export raw database</string>
|
||||
<string name="database_exported_successfully">Database exported successfully</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Title</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user