From 46b69881f96b6b9d1fd61359c6ed5868d8cc164d Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 13 Sep 2024 18:42:30 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../converters/TokenMarketInfoConverter.kt | 21 ++++++++++++------- .../impl/model/converters/MetricsConverter.kt | 6 +++--- .../converters/PricePerformanceConverter.kt | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketInfoConverter.kt b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketInfoConverter.kt index d77d7618fe..1aa7d1e9af 100644 --- a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketInfoConverter.kt +++ b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketInfoConverter.kt @@ -4,6 +4,7 @@ import com.tangem.datasource.api.markets.models.response.TokenMarketInfoResponse import com.tangem.domain.markets.TokenMarketInfo import com.tangem.domain.markets.TokenQuotes import com.tangem.utils.converter.Converter +import java.math.BigDecimal internal object TokenMarketInfoConverter : Converter { @@ -28,16 +29,22 @@ internal object TokenMarketInfoConverter : Converter BigDecimal?, + ): BigDecimal? { + return (intervalProvider() ?: allTime)?.movePointLeft(2) + } + @JvmName("convertNetwork") private fun List.convert(): List { return map { diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/converters/MetricsConverter.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/converters/MetricsConverter.kt index c6c57682f7..5cd11e6cd3 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/converters/MetricsConverter.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/converters/MetricsConverter.kt @@ -112,10 +112,10 @@ internal class MetricsConverter( } private fun BigDecimal?.formatAmount(crypto: Boolean = false): String { + if (this == null) return StringsSigns.DASH_SIGN + return if (crypto) { - BigDecimalFormatter.formatCompactAmount( - amount = this ?: BigDecimal.ZERO, - ) + BigDecimalFormatter.formatCompactAmount(amount = this) } else { val currency = appCurrency() BigDecimalFormatter.formatCompactFiatAmount( diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/converters/PricePerformanceConverter.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/converters/PricePerformanceConverter.kt index 38ee8682bf..29b04a9541 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/converters/PricePerformanceConverter.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/converters/PricePerformanceConverter.kt @@ -24,7 +24,7 @@ internal class PricePerformanceConverter( } private fun TokenMarketInfo.Range?.convert(currentPrice: BigDecimal): PricePerformanceUM.Value { - if (this == null) { + if (this == null || this.low == null || this.high == null) { return PricePerformanceUM.Value( low = StringsSigns.DASH_SIGN, high = StringsSigns.DASH_SIGN,