summaryrefslogtreecommitdiff
path: root/taler-kotlin-android/src/main/java/net/taler
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2024-03-14 10:11:54 -0600
committerTorsten Grote <t@grobox.de>2024-03-27 14:26:45 -0300
commit881eeabd3999c75c1961eacb2921b41d3a8f58bb (patch)
treeec00d7951705b2b2e79024d604a93e948211da13 /taler-kotlin-android/src/main/java/net/taler
parent5b6ba02e4e3026d08807431b144c5b3c1125266c (diff)
downloadtaler-android-881eeabd3999c75c1961eacb2921b41d3a8f58bb.tar.gz
taler-android-881eeabd3999c75c1961eacb2921b41d3a8f58bb.tar.bz2
taler-android-881eeabd3999c75c1961eacb2921b41d3a8f58bb.zip
[taler-android] Improve handling of currencies with no symbol
(cherry picked from commit c9371584fedf8783ab472d32deb35b24b0329cab)
Diffstat (limited to 'taler-kotlin-android/src/main/java/net/taler')
-rw-r--r--taler-kotlin-android/src/main/java/net/taler/common/Amount.kt7
-rw-r--r--taler-kotlin-android/src/main/java/net/taler/common/CurrencySpecification.kt2
2 files changed, 6 insertions, 3 deletions
diff --git a/taler-kotlin-android/src/main/java/net/taler/common/Amount.kt b/taler-kotlin-android/src/main/java/net/taler/common/Amount.kt
index 1652056..3e3bd0a 100644
--- a/taler-kotlin-android/src/main/java/net/taler/common/Amount.kt
+++ b/taler-kotlin-android/src/main/java/net/taler/common/Amount.kt
@@ -240,11 +240,14 @@ public data class Amount(
val format = NumberFormat.getCurrencyInstance()
format.maximumFractionDigits = spec.numFractionalNormalDigits
format.minimumFractionDigits = spec.numFractionalTrailingZeroDigits
- s.currencySymbol = spec.symbol(this)
+ s.currencySymbol = spec.symbol ?: ""
(format as DecimalFormat).decimalFormatSymbols = s
val fmt = format.format(amount)
- return if (showSymbol) fmt else {
+ return if (showSymbol) {
+ // If no symbol, then we use the currency string
+ if (spec.symbol != null) fmt else "$fmt $currency"
+ } else {
// We should do better than manually removing the symbol here
fmt.replace(s.currencySymbol, "").trim()
}
diff --git a/taler-kotlin-android/src/main/java/net/taler/common/CurrencySpecification.kt b/taler-kotlin-android/src/main/java/net/taler/common/CurrencySpecification.kt
index 4aa8968..02113f4 100644
--- a/taler-kotlin-android/src/main/java/net/taler/common/CurrencySpecification.kt
+++ b/taler-kotlin-android/src/main/java/net/taler/common/CurrencySpecification.kt
@@ -32,5 +32,5 @@ data class CurrencySpecification(
val altUnitNames: Map<Int, String>,
) {
// TODO: add support for alt units
- fun symbol(amount: Amount): String = altUnitNames[0] ?: amount.currency
+ val symbol: String? get() = altUnitNames[0]
} \ No newline at end of file