diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-11-14 14:13:51 -0600 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2023-11-28 13:59:37 -0300 |
commit | ba51b5e541d888cafdbf479a7e03a116af7050c5 (patch) | |
tree | a8b893bd8dd0212cba11cd0af75e95eb8b7a7bd0 /wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt | |
parent | 94ee3a2f114e0345ea7408aacc30e3da9545474c (diff) | |
download | taler-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.kt | 17 |
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 |