commit 52e06a4e001731b9852d42d53223a530fca547f3
parent 64914df7efb40c215f165c93a4078786ece6b0a4
Author: Iván Ávalos <avalos@disroot.org>
Date: Thu, 10 Apr 2025 16:39:35 +0200
[wallet] immediately ask user to accept ToS on withdrawal
Diffstat:
1 file changed, 19 insertions(+), 0 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt b/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt
@@ -78,6 +78,7 @@ class PromptWithdrawFragment: Fragment() {
private var editableCurrency: Boolean = true
private var navigating: Boolean = false
+ private var acceptingTos: Boolean = false
override fun onCreateView(
inflater: LayoutInflater,
@@ -237,6 +238,24 @@ class PromptWithdrawFragment: Fragment() {
}
}
+ lifecycleScope.launch {
+ repeatOnLifecycle(Lifecycle.State.STARTED) {
+ withdrawManager.withdrawStatus.collect { status ->
+ when (status.status) {
+ TosReviewRequired -> {
+ if (!acceptingTos) {
+ acceptingTos = true
+ val args = bundleOf("exchangeBaseUrl" to status.exchangeBaseUrl)
+ findNavController().navigate(R.id.action_global_reviewExchangeTos, args)
+ } else return@collect
+ }
+
+ else -> {}
+ }
+ }
+ }
+ }
+
selectExchangeDialog.exchangeSelection.observe(viewLifecycleOwner, EventObserver {
onExchangeSelected(it)
})