taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

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:
Mwallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt | 19+++++++++++++++++++
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) })