commit e59ded91923c5ffb736a8dc77ef771cde10c75c5
parent b21e679983d97fb01c652b6195c22885d70a8518
Author: Iván Ávalos <avalos@disroot.org>
Date: Wed, 22 May 2024 11:05:57 -0600
[wallet] Remove template currency selection and unnecessary amount parsing
bug 0008854
Diffstat:
2 files changed, 12 insertions(+), 20 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/payment/PayTemplateDetails.kt b/wallet/src/main/java/net/taler/wallet/payment/PayTemplateDetails.kt
@@ -59,10 +59,7 @@ data class TemplateContractDetails(
data class TemplateContractDetailsDefaults(
val summary: String? = null,
val currency: String? = null,
- /**
- * Amount *or* a plain currency string.
- */
- val amount: String? = null,
+ val amount: Amount? = null,
@SerialName("minimum_age")
val minimumAge: Int? = null,
)
@@ -98,17 +95,11 @@ class WalletTemplateDetails(
@SerialName("required_currency")
val requiredCurrency: String? = null,
) {
- val defaultSummary get() = editableDefaults?.summary ?: templateContract.summary
-
- val defaultAmount get() = editableDefaults?.amount?.let {
- if (it.contains(':')) {
- // Amount
- Amount.fromJSONString(it).amountStr
- } else {
- // *or* a plain currency string
- Amount.zero(it).amountStr
- }
- } ?: templateContract.amount?.amountStr
+ val defaultSummary get() = editableDefaults?.summary
+ ?: templateContract.summary
+
+ val defaultAmount get() = editableDefaults?.amount
+ ?: templateContract.amount
val defaultCurrency get() = requiredCurrency
?: editableDefaults?.currency
diff --git a/wallet/src/main/java/net/taler/wallet/payment/PayTemplateOrderComposable.kt b/wallet/src/main/java/net/taler/wallet/payment/PayTemplateOrderComposable.kt
@@ -55,7 +55,7 @@ fun PayTemplateOrderComposable(
var summary by remember { mutableStateOf(defaultSummary) }
var currency by remember { mutableStateOf(defaultCurrency ?: currencies[0]) }
- var amount by remember { mutableStateOf(defaultAmount ?: "0") }
+ var amount by remember { mutableStateOf(defaultAmount?.amountStr ?: "0") }
Column(horizontalAlignment = End) {
if (defaultSummary != null) OutlinedTextField(
@@ -77,7 +77,8 @@ fun PayTemplateOrderComposable(
amount = amount,
currency = currency,
currencies = currencies,
- readOnlyCurrency = !templateDetails.isCurrencyEditable(),
+ // TODO: uncomment when merchant supports multi-currency
+ // readOnlyCurrency = !templateDetails.isCurrencyEditable(),
readOnlyAmount = !templateDetails.isAmountEditable(),
onAmountChosen = { a, c ->
amount = a
@@ -110,8 +111,8 @@ private fun AmountField(
currencies: List<String>,
amount: String,
currency: String,
- readOnlyAmount: Boolean = false,
- readOnlyCurrency: Boolean = false,
+ readOnlyAmount: Boolean = true,
+ readOnlyCurrency: Boolean = true,
onAmountChosen: (amount: String, currency: String) -> Unit,
) {
Row(
@@ -144,7 +145,7 @@ val defaultTemplateDetails = WalletTemplateDetails(
),
editableDefaults = TemplateContractDetailsDefaults(
summary = "Donation",
- amount = "KUDOS:10.0",
+ amount = Amount.fromJSONString("KUDOS:10.0"),
),
)