summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2023-01-06 11:43:10 -0300
committerTorsten Grote <t@grobox.de>2023-01-06 11:43:10 -0300
commit905c63242ba6d80caece6c18b2b867cb300bbe7b (patch)
tree4fa9ac1249c498adba221892077cd1895a38f28e /wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt
parent6f45cd9e9f4e25df5048854cc421178f1cd66a59 (diff)
downloadtaler-android-905c63242ba6d80caece6c18b2b867cb300bbe7b.tar.gz
taler-android-905c63242ba6d80caece6c18b2b867cb300bbe7b.tar.bz2
taler-android-905c63242ba6d80caece6c18b2b867cb300bbe7b.zip
[wallet] Allow to restrict coins to age when withdrawing
#0007352
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt20
1 files changed, 18 insertions, 2 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
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<Int>? = 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()
}