summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-11-14 14:13:51 -0600
committerTorsten Grote <t@grobox.de>2023-11-28 13:59:37 -0300
commitba51b5e541d888cafdbf479a7e03a116af7050c5 (patch)
treea8b893bd8dd0212cba11cd0af75e95eb8b7a7bd0 /wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
parent94ee3a2f114e0345ea7408aacc30e3da9545474c (diff)
downloadtaler-android-ba51b5e541d888cafdbf479a7e03a116af7050c5.tar.gz
taler-android-ba51b5e541d888cafdbf479a7e03a116af7050c5.tar.bz2
taler-android-ba51b5e541d888cafdbf479a7e03a116af7050c5.zip
[wallet] Proper DB import/export functionality
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt17
1 files changed, 14 insertions, 3 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
index f5826c9..54d6dc0 100644
--- a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
@@ -18,6 +18,7 @@ package net.taler.wallet.settings
import android.os.Bundle
import android.view.View
+import androidx.activity.result.contract.ActivityResultContracts.OpenDocument
import androidx.activity.result.contract.ActivityResultContracts.CreateDocument
import androidx.fragment.app.activityViewModels
import androidx.preference.Preference
@@ -47,6 +48,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
private lateinit var prefWithdrawTest: Preference
private lateinit var prefLogcat: Preference
private lateinit var prefExportDb: Preference
+ private lateinit var prefImportDb: Preference
private lateinit var prefVersionApp: Preference
private lateinit var prefVersionCore: Preference
private lateinit var prefVersionExchange: Preference
@@ -58,6 +60,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
prefWithdrawTest,
prefLogcat,
prefExportDb,
+ prefImportDb,
prefVersionApp,
prefVersionCore,
prefVersionExchange,
@@ -71,9 +74,13 @@ class SettingsFragment : PreferenceFragmentCompat() {
settingsManager.exportLogcat(uri)
}
private val dbExportLauncher =
- registerForActivityResult(CreateDocument("application/x-sqlite3")) { uri ->
+ registerForActivityResult(CreateDocument("application/json")) { uri ->
settingsManager.exportDb(uri)
}
+ private val dbImportLauncher =
+ registerForActivityResult(OpenDocument()) { uri ->
+ settingsManager.importDb(uri)
+ }
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.settings_main, rootKey)
@@ -81,6 +88,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
prefWithdrawTest = findPreference("pref_testkudos")!!
prefLogcat = findPreference("pref_logcat")!!
prefExportDb = findPreference("pref_export_db")!!
+ prefImportDb = findPreference("pref_import_db")!!
prefVersionApp = findPreference("pref_version_app")!!
prefVersionCore = findPreference("pref_version_core")!!
prefVersionExchange = findPreference("pref_version_protocol_exchange")!!
@@ -127,10 +135,13 @@ class SettingsFragment : PreferenceFragmentCompat() {
true
}
prefExportDb.setOnPreferenceClickListener {
- dbExportLauncher.launch("taler-wallet-db-${currentTimeMillis()}.sql")
+ dbExportLauncher.launch("taler-wallet-db-${currentTimeMillis()}.json")
+ true
+ }
+ prefImportDb.setOnPreferenceClickListener {
+ dbImportLauncher.launch(arrayOf("application/json"))
true
}
-
prefTest.setOnPreferenceClickListener {
model.runIntegrationTest()
true