From 955719a33b6abd474d047a2cc8c94f6b4b52419a Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 25 Aug 2022 10:02:08 +0400 Subject: [PATCH 1/5] Updated on 2026-08-14 --- .../ui/cardsettings/CardSettingsScreen.kt | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsScreen.kt b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsScreen.kt index 92eec4c59b..2de4f118fb 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsScreen.kt @@ -2,7 +2,6 @@ package com.tangem.tap.features.details.ui.cardsettings import androidx.compose.foundation.Image import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -10,6 +9,10 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier @@ -51,14 +54,12 @@ fun CardSettingsReadCard( Column( modifier = modifier .fillMaxSize(), - verticalArrangement = Arrangement.SpaceBetween, ) { - Box( modifier = modifier - .fillMaxWidth(), - - ) { + .fillMaxWidth() + .padding(bottom = 40.dp), + ) { Image( modifier = modifier .fillMaxWidth() @@ -77,16 +78,13 @@ fun CardSettingsReadCard( contentDescription = "", contentScale = ContentScale.FillWidth, ) - } - - + Spacer(modifier = Modifier.weight(1f)) Column( modifier = modifier .fillMaxWidth() .padding(start = 16.dp, end = 16.dp, bottom = 32.dp), ) { - Text( text = stringResource(id = R.string.scan_card_settings_title), color = colorResource(id = R.color.text_primary_1), @@ -97,6 +95,9 @@ fun CardSettingsReadCard( text = stringResource(id = R.string.scan_card_settings_message), color = colorResource(id = R.color.text_secondary), style = TangemTypography.body1, + modifier = modifier + .verticalScroll(rememberScrollState()) + .weight(weight = 1f, fill = false), ) Spacer(modifier = modifier.size(29.dp)) DetailsMainButton( @@ -113,11 +114,13 @@ fun CardSettings( state: CardSettingsScreenState, modifier: Modifier = Modifier, ) { - Column( + if (state.cardDetails == null) return + + LazyColumn( modifier = modifier .fillMaxWidth(), ) { - state.cardDetails?.map { + items(state.cardDetails) { val paddingBottom = when (it) { is CardInfo.CardId, is CardInfo.Issuer -> 12.dp is CardInfo.SignedHashes -> 14.dp @@ -156,9 +159,7 @@ fun CardSettings( style = TangemTypography.body2, ) } - } - } } From 806bf97028552305cd0cb070b88f60685da328a6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 25 Aug 2022 15:31:05 +0400 Subject: [PATCH 2/5] Updated on 2026-08-14 --- .../details/ui/resetcard/ResetCardScreen.kt | 149 ++++++++++-------- .../ui/securitymode/SecurityModeScreen.kt | 13 +- 2 files changed, 95 insertions(+), 67 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardScreen.kt b/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardScreen.kt index 2c07b092ad..58d20cf256 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardScreen.kt @@ -5,20 +5,24 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material.Icon import androidx.compose.material.IconToggleButton import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.layout import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -58,80 +62,99 @@ fun ResetCardView( Column( modifier = modifier .fillMaxSize(), - verticalArrangement = Arrangement.Bottom, + verticalArrangement = Arrangement.SpaceBetween, ) { Box( - modifier = modifier, + modifier = modifier + .padding(bottom = 20.dp), ) { ScreenTitle(titleRes = R.string.reset_card_to_factory_navigation_title) } - Spacer( + + Column( modifier = modifier - .defaultMinSize(20.dp) - .weight(1f), - ) - Text( - text = stringResource(id = R.string.common_attention), - modifier = modifier.padding(start = 20.dp, end = 20.dp), - style = TangemTypography.headline3, - color = colorResource(id = R.color.text_primary_1), - ) - - Spacer(modifier = modifier.size(24.dp)) - - Text( - text = stringResource(id = R.string.reset_card_to_factory_message), - modifier = modifier.padding(start = 20.dp, end = 20.dp), - style = TangemTypography.body1, - color = colorResource(id = R.color.text_secondary), - ) - - Spacer(modifier = modifier.size(44.dp)) - Row( - modifier = modifier - .fillMaxWidth() - .padding(end = 20.dp), + .layout { measurable, constraints -> + val placeable = + measurable.measure( + constraints.copy( + // left 200.dp for min image height + maxHeight = constraints.maxHeight - 215.dp.roundToPx(), + // occupy all height except full image square in case of smaller text + minHeight = constraints.maxHeight - constraints.maxWidth, + ), + ) + layout(placeable.width, placeable.height) { + placeable.place(0, 0) + } + } + .height(IntrinsicSize.Min), + verticalArrangement = Arrangement.Bottom, ) { - IconToggleButton( - checked = state.accepted, - onCheckedChange = state.onAcceptWarningToggleClick, - modifier = modifier.padding(start = 20.dp, end = 20.dp), - ) { - Icon( - painter = painterResource( - if (state.accepted) { - R.drawable.ic_accepted - } else { - R.drawable.ic_unticked - }, - ), - contentDescription = null, - tint = if (state.accepted) { - colorResource(id = R.color.icon_accent) - } else { - colorResource(id = R.color.icon_secondary) - }, - ) - } Text( - text = stringResource(id = R.string.reset_card_to_factory_warning_message), - style = TangemTypography.body2, + text = stringResource(id = R.string.common_attention), + modifier = modifier.padding(start = 20.dp, end = 20.dp), + style = TangemTypography.headline3, + color = colorResource(id = R.color.text_primary_1), + ) + + Spacer(modifier = modifier.size(24.dp)) + + Text( + text = stringResource(id = R.string.reset_card_to_factory_message), + modifier = modifier + .padding(start = 20.dp, end = 20.dp) + .weight(1f, false) + .verticalScroll(rememberScrollState()), + style = TangemTypography.body1, color = colorResource(id = R.color.text_secondary), ) - } - Spacer(modifier = modifier.size(32.dp)) - Box( - modifier = modifier - .padding(start = 16.dp, end = 16.dp, bottom = 32.dp), - ) { - DetailsMainButton( - title = stringResource(id = R.string.reset_card_to_factory_button_title), - onClick = state.onResetButtonClick, - enabled = state.resetButtonEnabled, - ) - } + Spacer(modifier = modifier.size(44.dp)) + Row( + modifier = modifier + .fillMaxWidth() + .padding(end = 20.dp), + ) { + IconToggleButton( + checked = state.accepted, + onCheckedChange = state.onAcceptWarningToggleClick, + modifier = modifier.padding(start = 20.dp, end = 20.dp), + ) { + Icon( + painter = painterResource( + if (state.accepted) { + R.drawable.ic_accepted + } else { + R.drawable.ic_unticked + }, + ), + contentDescription = null, + tint = if (state.accepted) { + colorResource(id = R.color.icon_accent) + } else { + colorResource(id = R.color.icon_secondary) + }, + ) + } + Text( + text = stringResource(id = R.string.reset_card_to_factory_warning_message), + style = TangemTypography.body2, + color = colorResource(id = R.color.text_secondary), + ) + } + Spacer(modifier = modifier.size(32.dp)) + Box( + modifier = modifier + .padding(start = 16.dp, end = 16.dp, bottom = 32.dp), + ) { + DetailsMainButton( + title = stringResource(id = R.string.reset_card_to_factory_button_title), + onClick = state.onResetButtonClick, + enabled = state.resetButtonEnabled, + ) + } + } } } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeScreen.kt b/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeScreen.kt index e18146767f..66f6adcab7 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeScreen.kt @@ -6,10 +6,11 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.selection.selectable +import androidx.compose.foundation.verticalScroll import androidx.compose.material.RadioButton import androidx.compose.material.RadioButtonDefaults import androidx.compose.material.Text @@ -22,6 +23,7 @@ import androidx.compose.ui.unit.dp import com.tangem.tap.common.compose.TangemTypography import com.tangem.tap.features.details.redux.SecurityOption import com.tangem.tap.features.details.ui.common.DetailsMainButton +import com.tangem.tap.features.details.ui.common.ScreenTitle import com.tangem.tap.features.details.ui.common.SettingsScreensScaffold import com.tangem.wallet.R @@ -33,7 +35,7 @@ fun SecurityModeScreen( ) { SettingsScreensScaffold( content = { SecurityModeOptions(state = state, modifier = modifier) }, - titleRes = R.string.card_settings_security_mode, + // titleRes = R.string.card_settings_security_mode, onBackClick = onBackPressed, ) } @@ -47,10 +49,13 @@ fun SecurityModeOptions( Column( modifier = modifier .fillMaxSize() - .padding(bottom = 28.dp) - .offset(y = (-16).dp), + .verticalScroll(rememberScrollState()) + .padding(bottom = 28.dp), verticalArrangement = Arrangement.SpaceBetween, ) { + ScreenTitle(titleRes = R.string.card_settings_security_mode, modifier.padding(bottom = 36.dp)) + + state.availableOptions.map { SecurityOption(option = it, state = state, modifier = modifier) } From 829143605020e08eedde1dde9c1f86bb336bd4ec Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 26 Aug 2022 11:02:06 +0400 Subject: [PATCH 3/5] Updated on 2026-08-14 --- .../tangem/wallet/ExampleInstrumentedTest.kt | 24 ---------- .../details/ui/resetcard/ResetCardScreen.kt | 48 ++++++------------- 2 files changed, 14 insertions(+), 58 deletions(-) delete mode 100644 app/src/androidTest/java/com/tangem/wallet/ExampleInstrumentedTest.kt diff --git a/app/src/androidTest/java/com/tangem/wallet/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/tangem/wallet/ExampleInstrumentedTest.kt deleted file mode 100644 index 9a7a795e39..0000000000 --- a/app/src/androidTest/java/com/tangem/wallet/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.tangem.wallet - -import android.support.test.InstrumentationRegistry -import android.support.test.runner.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getTargetContext() - assertEquals("com.tangem.wallet", appContext.packageName) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardScreen.kt b/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardScreen.kt index 58d20cf256..eda5e31bcc 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardScreen.kt @@ -1,16 +1,13 @@ package com.tangem.tap.features.details.ui.resetcard import androidx.compose.foundation.Image -import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size @@ -22,7 +19,6 @@ import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.layout.layout import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -40,18 +36,11 @@ fun ResetCardScreen( onBackPressed: () -> Unit, modifier: Modifier = Modifier, ) { - Box(modifier = modifier.background(colorResource(id = R.color.background_primary))) { - Image( - painter = painterResource(id = R.drawable.ic_reset_background), - contentDescription = "", - modifier = modifier.offset(y = (-16).dp), - ) SettingsScreensScaffold( content = { ResetCardView(state = state, modifier = modifier) }, onBackClick = onBackPressed, backgroundColor = Color.Transparent, ) - } } @Composable @@ -61,33 +50,26 @@ fun ResetCardView( ) { Column( modifier = modifier - .fillMaxSize(), + .fillMaxSize() + .verticalScroll(rememberScrollState()), verticalArrangement = Arrangement.SpaceBetween, ) { Box( - modifier = modifier - .padding(bottom = 20.dp), + modifier = modifier, ) { + Image( + painter = painterResource(id = R.drawable.ic_reset_background), + contentDescription = "", + modifier = modifier.offset(y = (-82).dp), + ) ScreenTitle(titleRes = R.string.reset_card_to_factory_navigation_title) } - + Spacer( + modifier = modifier.weight(1f), + ) Column( modifier = modifier - .layout { measurable, constraints -> - val placeable = - measurable.measure( - constraints.copy( - // left 200.dp for min image height - maxHeight = constraints.maxHeight - 215.dp.roundToPx(), - // occupy all height except full image square in case of smaller text - minHeight = constraints.maxHeight - constraints.maxWidth, - ), - ) - layout(placeable.width, placeable.height) { - placeable.place(0, 0) - } - } - .height(IntrinsicSize.Min), + .offset(y = (-32).dp), verticalArrangement = Arrangement.Bottom, ) { Text( @@ -102,9 +84,7 @@ fun ResetCardView( Text( text = stringResource(id = R.string.reset_card_to_factory_message), modifier = modifier - .padding(start = 20.dp, end = 20.dp) - .weight(1f, false) - .verticalScroll(rememberScrollState()), + .padding(start = 20.dp, end = 20.dp), style = TangemTypography.body1, color = colorResource(id = R.color.text_secondary), ) @@ -146,7 +126,7 @@ fun ResetCardView( Spacer(modifier = modifier.size(32.dp)) Box( modifier = modifier - .padding(start = 16.dp, end = 16.dp, bottom = 32.dp), + .padding(start = 16.dp, end = 16.dp), ) { DetailsMainButton( title = stringResource(id = R.string.reset_card_to_factory_button_title), From dcb3f101a45c0858d745aa17853cf0068d425f63 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 8 Sep 2022 20:18:32 +0300 Subject: [PATCH 4/5] Updated on 2026-08-14 --- .../send/redux/reducers/FeeReducer.kt | 18 +++++++++++------- .../send/redux/reducers/ReceiptReducer.kt | 19 ++++++++++++++----- dependencies.gradle | 2 +- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/FeeReducer.kt b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/FeeReducer.kt index fd653557c7..155ef90584 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/FeeReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/FeeReducer.kt @@ -3,7 +3,6 @@ package com.tangem.tap.features.send.redux.reducers import com.tangem.blockchain.common.Amount import com.tangem.blockchain.common.AmountType import com.tangem.blockchain.common.Blockchain -import com.tangem.tap.common.extensions.fullNameWithoutTestnet import com.tangem.tap.features.send.redux.FeeAction import com.tangem.tap.features.send.redux.FeeActionUi import com.tangem.tap.features.send.redux.SendScreenAction @@ -106,12 +105,17 @@ class FeeReducer : SendInternalReducer { private fun getFeePrecision(sendState: SendState): FeePrecision { val blockchain = sendState.walletManager?.wallet?.blockchain - return if ( - (blockchain?.fullNameWithoutTestnet == Blockchain.Arbitrum.fullName || - blockchain?.fullNameWithoutTestnet == Blockchain.Tron.fullName || - blockchain?.fullNameWithoutTestnet == Blockchain.Gnosis.fullName) && - sendState.amountState.typeOfAmount is AmountType.Token - ) { + val amountType = sendState.amountState.typeOfAmount + + val canBeLower = when (blockchain) { + Blockchain.Tron, Blockchain.TronTestnet -> amountType is AmountType.Token + Blockchain.Fantom, Blockchain.FantomTestnet -> amountType is AmountType.Token + Blockchain.Arbitrum, Blockchain.ArbitrumTestnet -> true + Blockchain.Stellar, Blockchain.StellarTestnet -> true + else -> false + } + + return if (canBeLower) { FeePrecision.CAN_BE_LOWER } else { FeePrecision.PRECISE 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 c15813fdaa..84f4ef8ce0 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 @@ -6,7 +6,17 @@ import com.tangem.tap.common.extensions.scaleToFiat import com.tangem.tap.common.extensions.stripZeroPlainString import com.tangem.tap.features.send.redux.ReceiptAction.RefreshReceipt import com.tangem.tap.features.send.redux.SendScreenAction -import com.tangem.tap.features.send.redux.states.* +import com.tangem.tap.features.send.redux.states.AmountState +import com.tangem.tap.features.send.redux.states.FeeState +import com.tangem.tap.features.send.redux.states.MainCurrencyType +import com.tangem.tap.features.send.redux.states.ReceiptCrypto +import com.tangem.tap.features.send.redux.states.ReceiptFiat +import com.tangem.tap.features.send.redux.states.ReceiptLayoutType +import com.tangem.tap.features.send.redux.states.ReceiptState +import com.tangem.tap.features.send.redux.states.ReceiptSymbols +import com.tangem.tap.features.send.redux.states.ReceiptTokenCrypto +import com.tangem.tap.features.send.redux.states.ReceiptTokenFiat +import com.tangem.tap.features.send.redux.states.SendState import com.tangem.tap.features.wallet.redux.WalletState.Companion.UNKNOWN_AMOUNT_SIGN import com.tangem.tap.store import java.math.BigDecimal @@ -91,7 +101,7 @@ class ReceiptReducer : SendInternalReducer { if (feeState.feeIsIncluded) { return ReceiptCrypto( amountCrypto = amountState.amountToSendCrypto.minus(feeCrypto).stripZeroPlainString(), - feeCrypto = feeCrypto.stripZeroPlainString(), + feeCrypto = feeCrypto.stripZeroPlainString().addPrecisionSign(), totalCrypto = amountState.amountToSendCrypto.stripZeroPlainString(), feeFiat = feeFiat, willSentFiat = convertToFiatPrecision(amountState.amountToSendCrypto), @@ -101,7 +111,7 @@ class ReceiptReducer : SendInternalReducer { val totalCrypto = amountState.amountToSendCrypto.plus(feeCrypto) return ReceiptCrypto( amountCrypto = amountState.amountToSendCrypto.stripZeroPlainString(), - feeCrypto = feeCrypto.stripZeroPlainString(), + feeCrypto = feeCrypto.stripZeroPlainString().addPrecisionSign(), totalCrypto = totalCrypto.stripZeroPlainString(), feeFiat = feeFiat, willSentFiat = convertToFiatPrecision(totalCrypto), @@ -125,8 +135,7 @@ class ReceiptReducer : SendInternalReducer { val totalFiat = amountFiat.plus(feeFiat) ReceiptTokenFiat( amountFiat = amountFiat.scaleToFiat(true).stripZeroPlainString(), - feeFiat = feeFiat.scaleToFiat(true) - .stripZeroPlainString().addPrecisionSign(), + feeFiat = feeFiat.scaleToFiat(true).stripZeroPlainString().addPrecisionSign(), totalFiat = totalFiat.scaleToFiat(true).stripZeroPlainString(), willSentToken = tokensToSend.stripZeroPlainString(), willSentFeeCoin = feeCoin.stripZeroPlainString(), diff --git a/dependencies.gradle b/dependencies.gradle index e1c383532f..0fdf41d259 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ ext.versions = [ kotlin : '1.6.10', build_gradle : '7.1.3', tangem_card_sdk : 'develop-159', - tangem_blockchain_sdk: 'develop-105', + tangem_blockchain_sdk: 'AND-2102-develop-105-hotfix_xlm-109', // tangem_blockchain_sdk: '0.0.1', ] From 9cd5ad281a6c834cd7e8b3c711c6f6d4609afa5e Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 12 Sep 2022 18:21:08 +0300 Subject: [PATCH 5/5] Updated on 2026-08-14 --- .../tap/features/wallet/redux/WalletAction.kt | 4 +--- .../wallet/redux/middlewares/WalletMiddleware.kt | 14 ++++++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt index e079a6b114..0d6e8b528a 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt @@ -131,9 +131,7 @@ sealed class WalletAction : Action { object Scan : WalletAction() - data class Send(val amount: Amount? = null) : WalletAction() { - data class ChooseCurrency(val amounts: List?) : WalletAction() - } + data class Send(val amount: Amount? = null) : WalletAction() object EmptyField : WalletAction(), ErrorAction { override val error = TapError.PayIdEmptyField diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt index 7c63b551f9..ecf9579bb9 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt @@ -12,7 +12,13 @@ import com.tangem.domain.common.extensions.withMainContext import com.tangem.operations.attestation.Attestation import com.tangem.operations.attestation.OnlineCardVerifier import com.tangem.tap.common.analytics.Analytics -import com.tangem.tap.common.extensions.* +import com.tangem.tap.common.extensions.copyToClipboard +import com.tangem.tap.common.extensions.dispatchDebugErrorNotification +import com.tangem.tap.common.extensions.dispatchOnMain +import com.tangem.tap.common.extensions.dispatchOpenUrl +import com.tangem.tap.common.extensions.onCardScanned +import com.tangem.tap.common.extensions.shareText +import com.tangem.tap.common.extensions.stripZeroPlainString import com.tangem.tap.common.redux.AppState import com.tangem.tap.common.redux.global.GlobalAction import com.tangem.tap.common.redux.navigation.AppScreen @@ -22,11 +28,11 @@ import com.tangem.tap.domain.loadedRates import com.tangem.tap.features.demo.DemoHelper import com.tangem.tap.features.home.redux.HomeAction import com.tangem.tap.features.send.redux.PrepareSendScreen +import com.tangem.tap.features.wallet.models.Currency import com.tangem.tap.features.wallet.models.PendingTransactionType import com.tangem.tap.features.wallet.models.filterByCoin import com.tangem.tap.features.wallet.models.getPendingTransactions import com.tangem.tap.features.wallet.models.getSendableAmounts -import com.tangem.tap.features.wallet.models.Currency import com.tangem.tap.features.wallet.redux.WalletAction import com.tangem.tap.features.wallet.redux.WalletData import com.tangem.tap.features.wallet.redux.WalletState @@ -36,7 +42,6 @@ import com.tangem.tap.preferencesStorage import com.tangem.tap.scope import com.tangem.tap.store import com.tangem.tap.tangemSdkManager -import java.math.BigDecimal import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.launch @@ -44,6 +49,7 @@ import org.rekotlin.Action import org.rekotlin.DispatchFunction import org.rekotlin.Middleware import timber.log.Timber +import java.math.BigDecimal class WalletMiddleware { private val tradeCryptoMiddleware = TradeCryptoMiddleware() @@ -276,7 +282,7 @@ class WalletMiddleware { } } else { if (amounts?.size ?: 0 > 1) { - WalletAction.Send.ChooseCurrency(amounts) + WalletAction.DialogAction.ChooseCurrency(amounts) } else { val amountToSend = amounts?.first() PrepareSendScreen(