From 905c63242ba6d80caece6c18b2b867cb300bbe7b Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 6 Jan 2023 11:43:10 -0300 Subject: [wallet] Allow to restrict coins to age when withdrawing #0007352 --- .../taler/wallet/withdraw/PromptWithdrawFragment.kt | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt') diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt b/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt index 3cd2f49..dbf901a 100644 --- a/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt @@ -20,6 +20,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ArrayAdapter import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController @@ -114,13 +115,18 @@ class PromptWithdrawFragment : Fragment() { } private fun onReceivedDetails(s: ReceivedDetails) { - showContent(s.amountRaw, s.amountEffective, s.exchangeBaseUrl, s.talerWithdrawUri) + showContent(s.amountRaw, s.amountEffective, s.exchangeBaseUrl, s.talerWithdrawUri, + s.ageRestrictionOptions) ui.confirmWithdrawButton.apply { text = getString(R.string.withdraw_button_confirm) setOnClickListener { it.fadeOut() ui.confirmProgressBar.fadeIn() - withdrawManager.acceptWithdrawal() + val ageRestrict = (ui.ageSelector.selectedItem as String?)?.let { age -> + if (age == context.getString(R.string.withdraw_restrict_age_unrestricted)) null + else age.toIntOrNull() + } + withdrawManager.acceptWithdrawal(ageRestrict) } isEnabled = true } @@ -131,6 +137,7 @@ class PromptWithdrawFragment : Fragment() { amountEffective: Amount, exchange: String, uri: String?, + ageRestrictionOptions: List? = null, ) { model.showProgressBar.value = false ui.progressBar.fadeOut() @@ -160,6 +167,15 @@ class PromptWithdrawFragment : Fragment() { } } + if (ageRestrictionOptions != null) { + ui.ageLabel.fadeIn() + val context = requireContext() + val items = listOf(context.getString(R.string.withdraw_restrict_age_unrestricted)) + + ageRestrictionOptions.map { it.toString() } + ui.ageSelector.adapter = ArrayAdapter(context, R.layout.list_item_age, items) + ui.ageSelector.fadeIn() + } + ui.withdrawCard.fadeIn() } -- cgit v1.2.3