From 13261d664e3cf116a36440fd02157ff051ad5057 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 25 Jan 2024 23:05:41 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../send/redux/reducers/ReceiptReducer.kt | 25 +++++++++++-------- .../features/send/redux/states/SendState.kt | 2 -- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/ReceiptReducer.kt b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/ReceiptReducer.kt index e842fd4a01..a50de375f4 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/ReceiptReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/ReceiptReducer.kt @@ -183,12 +183,14 @@ class ReceiptReducer : SendInternalReducer { return ReceiptTokenCrypto("0", feeValue.stripZeroPlainString(), "0", symbols) } val tokensToSend = amountState.amountToSendCrypto + val amountType = amountState.typeOfAmount + val currencyConverter = when { + amountType is AmountType.Token && sendState.feeIsConvertible() -> sendState.tokenConverter + amountType is AmountType.Coin && sendState.feeIsConvertible() -> sendState.coinConverter + else -> null + } - return if (sendState.currencyIsConvertible() && sendState.feeIsConvertible()) { - val currencyConverter = when (amountState.typeOfAmount) { - is AmountType.Token -> sendState.tokenConverter!! - else -> sendState.coinConverter!! - } + return if (currencyConverter != null) { val currencyFiat = currencyConverter.toFiatUnscaled(tokensToSend) val feeFiat = sendState.customFeeConverter!!.toFiatUnscaled(feeValue) val totalFiat = currencyFiat.plus(feeFiat) @@ -218,11 +220,14 @@ class ReceiptReducer : SendInternalReducer { val tokensToSend = amountState.amountToSendCrypto - return if (sendState.currencyIsConvertible() && sendState.feeIsConvertible()) { - val currencyConverter = when (amountState.typeOfAmount) { - is AmountType.Token -> sendState.tokenConverter!! - else -> sendState.coinConverter!! - } + val amountType = amountState.typeOfAmount + val currencyConverter = when { + amountType is AmountType.Token && sendState.feeIsConvertible() -> sendState.tokenConverter + amountType is AmountType.Coin && sendState.feeIsConvertible() -> sendState.coinConverter + else -> null + } + + return if (currencyConverter != null) { val feeFiat = sendState.customFeeConverter!!.toFiatUnscaled(feeCoin) val amountFiat = currencyConverter.toFiatUnscaled(tokensToSend) val totalFiat = amountFiat.plus(feeFiat) diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/states/SendState.kt b/app/src/main/java/com/tangem/tap/features/send/redux/states/SendState.kt index 1159e1ff0d..b953ab71dd 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/states/SendState.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/states/SendState.kt @@ -102,8 +102,6 @@ data class SendState( fun coinIsConvertible(): Boolean = coinConverter != null fun tokenIsConvertible(): Boolean = tokenConverter != null - - fun currencyIsConvertible(): Boolean = coinConverter != null || tokenConverter != null fun feeIsConvertible(): Boolean = customFeeConverter != null fun mainCurrencyCanBeSwitched(): Boolean {