summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-11-14 14:32:29 -0600
committerIván Ávalos <avalos@disroot.org>2023-11-16 17:09:48 -0600
commit5d60f6720971bea78a491ad599290ccad6aaaf48 (patch)
treed8d009e66bc1dee91b72a2f6f0857e3e8eebfc14
parent2a0d8dee6a059c73b95c1869bbb0e0ebc7f4509f (diff)
downloadtaler-android-dev/ivan-avalos/backups.tar.gz
taler-android-dev/ivan-avalos/backups.tar.bz2
taler-android-dev/ivan-avalos/backups.zip
[wallet] Add confirmation dialog for DB import and i18nize some stringsdev/ivan-avalos/backups
-rw-r--r--wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt24
-rw-r--r--wallet/src/main/res/values/strings.xml8
2 files changed, 26 insertions, 6 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 54d6dc0..f21bd44 100644
--- a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
@@ -139,7 +139,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
true
}
prefImportDb.setOnPreferenceClickListener {
- dbImportLauncher.launch(arrayOf("application/json"))
+ showImportDialog()
true
}
prefTest.setOnPreferenceClickListener {
@@ -152,15 +152,27 @@ class SettingsFragment : PreferenceFragmentCompat() {
}
}
+ private fun showImportDialog() {
+ MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3)
+ .setMessage(R.string.settings_dialog_import_message)
+ .setNegativeButton(R.string.import_db) { _, _ ->
+ dbImportLauncher.launch(arrayOf("application/json"))
+ }
+ .setPositiveButton(R.string.cancel) { _, _ ->
+ Snackbar.make(requireView(), getString(R.string.settings_alert_import_canceled), LENGTH_SHORT).show()
+ }
+ .show()
+ }
+
private fun showResetDialog() {
MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3)
- .setMessage("Do you really want to reset the wallet and lose all coins and purchases?")
- .setPositiveButton("Reset") { _, _ ->
+ .setMessage(R.string.settings_dialog_reset_message)
+ .setNegativeButton(R.string.reset) { _, _ ->
model.dangerouslyReset()
- Snackbar.make(requireView(), "Wallet has been reset", LENGTH_SHORT).show()
+ Snackbar.make(requireView(), getString(R.string.settings_alert_reset_done), LENGTH_SHORT).show()
}
- .setNegativeButton("Cancel") { _, _ ->
- Snackbar.make(requireView(), "Reset cancelled", LENGTH_SHORT).show()
+ .setPositiveButton(R.string.cancel) { _, _ ->
+ Snackbar.make(requireView(), getString(R.string.settings_alert_reset_canceled), LENGTH_SHORT).show()
}
.show()
}
diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml
index 2533820..09feee6 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -59,6 +59,8 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card
<string name="currency">Currency</string>
<!-- The count should be mirrored in RTL languages -->
<string name="char_count">%1$d/%2$d</string>
+ <string name="import_db">Import</string>
+ <string name="reset">Reset</string>
<string name="offline">Operation requires internet access. Please ensure your internet connection works and try again.</string>
<string name="offline_banner">No internet access</string>
@@ -275,6 +277,12 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card
<string name="settings_reset">Reset Wallet (dangerous!)</string>
<string name="settings_reset_summary">Throws away your money</string>
+ <string name="settings_dialog_reset_message">Do you really want to reset the wallet and lose all coins and purchases?</string>
+ <string name="settings_dialog_import_message">This operation will overwrite your existing database. Do you want to continue?</string>
+ <string name="settings_alert_reset_done">Wallet has been reset</string>
+ <string name="settings_alert_reset_canceled">Reset cancelled</string>
+ <string name="settings_alert_import_canceled">Import cancelled</string>
+
<string name="refund_title">Refund</string>
<string name="refund_error">Error processing refund</string>
<string name="refund_success">Refund received!</string>