Updated on 2026-08-14

This commit is contained in:
Tangem 2025-04-18 17:42:27 +03:00
parent dbb63a396f
commit 8a0838a13f
3 changed files with 16 additions and 8 deletions

View file

@ -430,7 +430,7 @@ internal class SendConfirmModel @Inject constructor(
flow = uiState,
flow2 = params.currentRoute,
transform = { state, route -> state to route },
).filter { it.second is SendRoute.Confirm }.onEach { (state, _) ->
).filter { it.second is CommonSendRoute.Confirm }.onEach { (state, _) ->
val amountUM = state.amountUM as? AmountState.Data
val confirmUM = state.confirmUM
params.callback.onResult(

View file

@ -29,14 +29,12 @@ import com.tangem.domain.tokens.model.CryptoCurrencyStatus
import com.tangem.domain.wallets.models.UserWallet
import com.tangem.domain.wallets.usecase.GetUserWalletUseCase
import com.tangem.features.send.v2.api.SendComponent
import com.tangem.features.send.v2.common.NavigationUM
import com.tangem.features.send.v2.common.CommonSendRoute
import com.tangem.features.send.v2.common.PredefinedValues
import com.tangem.features.send.v2.common.ui.state.ConfirmUM
import com.tangem.features.send.v2.common.ui.state.NavigationUM
import com.tangem.features.send.v2.send.confirm.SendConfirmComponent
import com.tangem.features.send.v2.send.confirm.model.SendConfirmAlertFactory
import com.tangem.features.send.v2.send.confirm.ui.state.ConfirmUM
import com.tangem.features.send.v2.send.ui.state.SendUM
import com.tangem.features.send.v2.subcomponents.amount.SendAmountComponent
import com.tangem.features.send.v2.subcomponents.amount.SendAmountUpdateQRTrigger
@ -115,7 +113,7 @@ internal class SendModel @Inject constructor(
}
override fun onAmountResult(amountUM: AmountState) {
predefinedAmountValue = null // reset predefined amount
resetPredefinedAmount()
_uiState.update { it.copy(amountUM = amountUM) }
}
@ -124,10 +122,20 @@ internal class SendModel @Inject constructor(
}
override fun onResult(sendUM: SendUM) {
predefinedAmountValue = null // reset predefined amount
resetPredefinedAmount()
_uiState.update { sendUM }
}
private fun resetPredefinedAmount() {
// reset predefined amount
val internalPredefinedValues = predefinedValues
predefinedValues = when (internalPredefinedValues) {
is PredefinedValues.Content.Deeplink -> internalPredefinedValues.copy(amount = "")
is PredefinedValues.Content.QrCode -> internalPredefinedValues.copy(amount = "")
PredefinedValues.Empty -> internalPredefinedValues
}
}
private fun initAppCurrency() {
modelScope.launch {
appCurrency = getSelectedAppCurrencyUseCase.invokeSync().getOrElse { AppCurrency.Default }
@ -236,9 +244,9 @@ internal class SendModel @Inject constructor(
val parsedQrCode = parseQrCodeUseCase(address, cryptoCurrency).getOrNull()
// Decompose component can be active or inactive depending on its state and navigation stack
// If it is in inactive state use parameter to pass value to amount component
val amount = parsedQrCode?.amount?.parseBigDecimal(cryptoCurrency.decimals).orEmpty()
val amount = parsedQrCode?.amount?.parseBigDecimal(cryptoCurrency.decimals)
predefinedValues = PredefinedValues.Content.QrCode(
amount = amount,
amount = amount.orEmpty(),
address = parsedQrCode?.address.orEmpty(),
memo = parsedQrCode?.memo,
)

View file

@ -5,7 +5,7 @@
# https://github.com/tangem/tangem-sdk-android/
# https://github.com/tangem/vico
tangemBlockchainSdk = "develop-1034"
tangemBlockchainSdk = "develop-1040"
#tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds
tangemCardSdk = "develop-455"
#tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^