From 34d8f4bf460c1e92e456d52f9d1bb86720889f97 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 12 May 2025 13:47:08 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../main/model/OnrampMainComponentModel.kt | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/main/model/OnrampMainComponentModel.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/main/model/OnrampMainComponentModel.kt index 5ea7c807a7..12371bbef8 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/main/model/OnrampMainComponentModel.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/main/model/OnrampMainComponentModel.kt @@ -297,17 +297,6 @@ internal class OnrampMainComponentModel @Inject constructor( lastUpdateState.value = null return } - - if (checkLastInputState(quote)) { - lastUpdateState.value = OnrampLastUpdate( - quote.fromAmount, - quote.countryCode, - ) - - _state.update { - amountStateFactory.getUpdatedProviderState(selectedQuote = quote, quotes = quotes) - } - } _state.update { amountStateFactory.getAmountSecondaryUpdatedState(quote = quote) } } @@ -322,7 +311,7 @@ internal class OnrampMainComponentModel @Inject constructor( val quoteToCheck = quotes.firstOrNull { it !is OnrampQuote.Error } // Check if amount, country or currency has changed - return if (checkLastInputState(quoteToCheck)) { + val newQuote = if (checkLastInputState(quoteToCheck)) { quoteToCheck } else { val state = state.value as? OnrampMainComponentUM.Content @@ -341,6 +330,20 @@ internal class OnrampMainComponentModel @Inject constructor( lastSelectedQuote } } + newQuote?.let { updateProvider(newQuote, quotes) } + + return newQuote + } + + private fun updateProvider(quote: OnrampQuote, quotes: List) { + lastUpdateState.value = OnrampLastUpdate( + quote.fromAmount, + quote.countryCode, + ) + + _state.update { + amountStateFactory.getUpdatedProviderState(selectedQuote = quote, quotes = quotes) + } } private fun onRetryQuotes() {