commit 88826e2ccf7ee93951ac1f7f8b89fe3830d58e79
parent db126b71f6defd76030ff7347d7032021aa15aae
Author: Iván Ávalos <avalos@disroot.org>
Date: Fri, 28 Jun 2024 14:41:43 -0600
[wallet] Popup confirmation for integration test
Diffstat:
3 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/MainViewModel.kt b/wallet/src/main/java/net/taler/wallet/MainViewModel.kt
@@ -269,7 +269,7 @@ class MainViewModel(
}
}
- fun runIntegrationTest() {
+ fun runIntegrationTest(onError: (error: TalerErrorInfo) -> Unit) {
viewModelScope.launch {
api.request<Unit>("runIntegrationTestV2") {
put("amountToWithdraw", "KUDOS:42")
@@ -278,7 +278,7 @@ class MainViewModel(
put("exchangeBaseUrl", "https://exchange.demo.taler.net/")
put("merchantBaseUrl", "https://backend.demo.taler.net/")
put("merchantAuthToken", "secret-token:sandbox")
- }
+ }.onError(onError)
}
}
diff --git a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
@@ -21,10 +21,12 @@ 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.navigation.fragment.findNavController
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.SwitchPreferenceCompat
import com.google.android.material.dialog.MaterialAlertDialogBuilder
+import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG
import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_SHORT
import com.google.android.material.snackbar.Snackbar
import net.taler.common.showError
@@ -143,7 +145,11 @@ class SettingsFragment : PreferenceFragmentCompat() {
true
}
prefTest.setOnPreferenceClickListener {
- model.runIntegrationTest()
+ model.runIntegrationTest { error ->
+ requireActivity().showError(error)
+ }
+ Snackbar.make(requireView(), getString(R.string.settings_test_running), LENGTH_LONG).show()
+ findNavController().navigate(R.id.nav_main)
true
}
prefReset.setOnPreferenceClickListener {
diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml
@@ -329,6 +329,7 @@ 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_test">Run integration test</string>
+ <string name="settings_test_running">The integration test is now running</string>
<string name="settings_test_summary">Performs test transactions with demo setup</string>
<string name="settings_version_app">App Version</string>
<string name="settings_version_core">Wallet Core Version</string>