diff options
author | Iván Ávalos <avalos@disroot.org> | 2024-03-14 10:11:54 -0600 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2024-03-27 14:26:45 -0300 |
commit | 881eeabd3999c75c1961eacb2921b41d3a8f58bb (patch) | |
tree | ec00d7951705b2b2e79024d604a93e948211da13 /taler-kotlin-android/src/main/java/net/taler | |
parent | 5b6ba02e4e3026d08807431b144c5b3c1125266c (diff) | |
download | taler-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.kt | 7 | ||||
-rw-r--r-- | taler-kotlin-android/src/main/java/net/taler/common/CurrencySpecification.kt | 2 |
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 |