From cb36d5cf2592ca04006b995f909ec98decdf9f94 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 12 Jul 2024 16:30:49 +0200 Subject: [PATCH] Updated on 2026-08-14 --- .../send/redux/reducers/AmountReducer.kt | 2 +- .../send/redux/reducers/ReceiptReducer.kt | 7 ++----- .../amountScreen/ui/AmountFieldContainer.kt | 2 +- .../version/DefaultVersionProvider.kt | 3 ++- .../ui/components/rows/SelectorRowItem.kt | 4 ++-- .../ui/components/transactions/Transaction.kt | 4 ++-- .../core/ui/utils/BigDecimalFormatter.kt | 6 ++++-- .../src/main/java/com/tangem/utils/Strings.kt | 8 -------- .../java/com/tangem/utils/StringsSigns.kt | 12 ++++++++++++ .../markets/ui/components/MarketsListItem.kt | 3 ++- .../ui/recipient/SendRecipientContent.kt | 2 +- .../RewardsValidatorStateConverter.kt | 2 +- .../ui/StakingInitialInfoContent.kt | 5 +++-- .../tangem/feature/swap/ui/StateBuilder.kt | 19 ++++++++++++++----- .../feature/swap/ui/SwapScreenContent.kt | 2 +- .../feature/swap/ui/SwapSelectTokenScreen.kt | 6 +++--- ...tailsTxHistoryTransactionStateConverter.kt | 4 +++- .../ui/components/TokenDetailsBalanceBlock.kt | 2 +- .../components/staking/StakingBalanceBlock.kt | 4 ++-- .../component/token/TokenCryptoAmount.kt | 4 ++-- .../common/component/token/TokenFiatAmount.kt | 4 ++-- .../common/component/token/TokenPrice.kt | 6 +++--- .../common/state/TokenItemState.kt | 4 ---- .../wallet/state/model/WalletCardState.kt | 7 ++++--- .../converter/TokenItemStateConverter.kt | 5 +++-- .../converter/TxHistoryItemStateConverter.kt | 4 +++- .../VisaTxHistoryItemStateConverter.kt | 4 ++-- .../wallet/ui/components/common/WalletCard.kt | 4 ++-- 28 files changed, 78 insertions(+), 61 deletions(-) delete mode 100644 core/utils/src/main/java/com/tangem/utils/Strings.kt create mode 100644 core/utils/src/main/java/com/tangem/utils/StringsSigns.kt diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/AmountReducer.kt b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/AmountReducer.kt index 76daaa5802..645fc6ec32 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/reducers/AmountReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/reducers/AmountReducer.kt @@ -10,7 +10,7 @@ import com.tangem.tap.features.send.redux.states.AmountState import com.tangem.tap.features.send.redux.states.InputViewValue import com.tangem.tap.features.send.redux.states.MainCurrencyType import com.tangem.tap.features.send.redux.states.SendState -import com.tangem.utils.Strings.STARS +import com.tangem.utils.StringsSigns.STARS import java.math.BigDecimal /** 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 dbf1db4f40..8d1d46d4cd 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 @@ -10,6 +10,7 @@ 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.store +import com.tangem.utils.StringsSigns.LOWER_SIGN import java.math.BigDecimal /** @@ -401,11 +402,7 @@ class ReceiptReducer : SendInternalReducer { } private fun String.addPrecisionSign(): String { - val result = if (feeState.feeIsApproximate) "$CAN_BE_LOWER_SIGN $this" else this + val result = if (feeState.feeIsApproximate) "$LOWER_SIGN $this" else this return result.trim() } - - private companion object { - const val CAN_BE_LOWER_SIGN = "<" - } } \ No newline at end of file diff --git a/common/ui/src/main/java/com/tangem/common/ui/amountScreen/ui/AmountFieldContainer.kt b/common/ui/src/main/java/com/tangem/common/ui/amountScreen/ui/AmountFieldContainer.kt index 46fef9fbb0..146c491074 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/amountScreen/ui/AmountFieldContainer.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/amountScreen/ui/AmountFieldContainer.kt @@ -16,7 +16,7 @@ import com.tangem.common.ui.amountScreen.models.AmountState import com.tangem.core.ui.components.currency.icon.CurrencyIcon import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.res.TangemTheme -import com.tangem.utils.Strings.STARS +import com.tangem.utils.StringsSigns.STARS private const val AMOUNT_FIELD_KEY = "amountFieldKey" diff --git a/core/featuretoggles/src/main/kotlin/com/tangem/core/featuretoggle/version/DefaultVersionProvider.kt b/core/featuretoggles/src/main/kotlin/com/tangem/core/featuretoggle/version/DefaultVersionProvider.kt index 7cebaee8a8..c602be463f 100644 --- a/core/featuretoggles/src/main/kotlin/com/tangem/core/featuretoggle/version/DefaultVersionProvider.kt +++ b/core/featuretoggles/src/main/kotlin/com/tangem/core/featuretoggle/version/DefaultVersionProvider.kt @@ -3,6 +3,7 @@ package com.tangem.core.featuretoggle.version import android.content.Context import android.content.pm.PackageManager import android.os.Build +import com.tangem.utils.StringsSigns.MINUS import dagger.hilt.android.qualifiers.ApplicationContext import javax.inject.Inject @@ -34,6 +35,6 @@ internal class DefaultVersionProvider @Inject constructor( } private companion object { - const val VERSION_NAME_DELIMITER = "-" + const val VERSION_NAME_DELIMITER = MINUS } } \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/rows/SelectorRowItem.kt b/core/ui/src/main/java/com/tangem/core/ui/components/rows/SelectorRowItem.kt index 5eb6b5f287..c6dd8c39f9 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/rows/SelectorRowItem.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/rows/SelectorRowItem.kt @@ -25,7 +25,7 @@ import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.res.TangemThemePreview import com.tangem.core.ui.res.TangemTheme -import com.tangem.utils.Strings +import com.tangem.utils.StringsSigns @Composable fun SelectorRowItem( @@ -128,7 +128,7 @@ private fun RowScope.SelectorValueContent( ) if (postDot != null) { Text( - text = Strings.DOT, + text = StringsSigns.DOT, style = TangemTheme.typography.caption2, color = TangemTheme.colors.text.primary1, textAlign = TextAlign.Center, diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/transactions/Transaction.kt b/core/ui/src/main/java/com/tangem/core/ui/components/transactions/Transaction.kt index 3b99a455ce..6a906295de 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/transactions/Transaction.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/transactions/Transaction.kt @@ -34,7 +34,7 @@ import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.utils.Strings +import com.tangem.utils.StringsSigns import java.util.UUID /** @@ -258,7 +258,7 @@ private fun Amount(state: TransactionState, isBalanceHidden: Boolean, modifier: when (state) { is TransactionState.Content -> { Text( - text = if (isBalanceHidden) Strings.STARS else state.amount, + text = if (isBalanceHidden) StringsSigns.STARS else state.amount, modifier = modifier, textAlign = TextAlign.End, color = when (state.status) { diff --git a/core/ui/src/main/java/com/tangem/core/ui/utils/BigDecimalFormatter.kt b/core/ui/src/main/java/com/tangem/core/ui/utils/BigDecimalFormatter.kt index 0dbdded548..4e5256d1d8 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/utils/BigDecimalFormatter.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/utils/BigDecimalFormatter.kt @@ -1,6 +1,8 @@ package com.tangem.core.ui.utils import com.tangem.domain.tokens.model.CryptoCurrency +import com.tangem.utils.StringsSigns.DASH_SIGN +import com.tangem.utils.StringsSigns.LOWER_SIGN import timber.log.Timber import java.math.BigDecimal import java.math.RoundingMode @@ -11,8 +13,8 @@ import java.util.Locale object BigDecimalFormatter { - const val EMPTY_BALANCE_SIGN = "—" - const val CAN_BE_LOWER_SIGN = "<" + const val EMPTY_BALANCE_SIGN = DASH_SIGN + const val CAN_BE_LOWER_SIGN = LOWER_SIGN private val FORMAT_THRESHOLD = BigDecimal("0.01") private const val TEMP_CURRENCY_CODE = "USD" diff --git a/core/utils/src/main/java/com/tangem/utils/Strings.kt b/core/utils/src/main/java/com/tangem/utils/Strings.kt deleted file mode 100644 index b40470e852..0000000000 --- a/core/utils/src/main/java/com/tangem/utils/Strings.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.tangem.utils - -object Strings { - - const val STARS = "\u2217\u2217\u2217" - const val DOT = "•" - const val PLUS = "+" -} \ No newline at end of file diff --git a/core/utils/src/main/java/com/tangem/utils/StringsSigns.kt b/core/utils/src/main/java/com/tangem/utils/StringsSigns.kt new file mode 100644 index 0000000000..15d69db683 --- /dev/null +++ b/core/utils/src/main/java/com/tangem/utils/StringsSigns.kt @@ -0,0 +1,12 @@ +package com.tangem.utils + +object StringsSigns { + + const val STARS = "\u2217\u2217\u2217" + const val DOT = "•" + const val PLUS = "+" + const val MINUS = "-" + const val DASH_SIGN = "—" + const val LOWER_SIGN = "<" + const val TILDE_SIGN = "~" +} \ No newline at end of file diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/ui/components/MarketsListItem.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/ui/components/MarketsListItem.kt index ff348ef270..5bc81ee9f6 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/ui/components/MarketsListItem.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/ui/components/MarketsListItem.kt @@ -47,6 +47,7 @@ import com.tangem.core.ui.windowsize.WindowSizeType import com.tangem.features.markets.impl.R import com.tangem.features.markets.ui.entity.MarketsListItemUM import com.tangem.features.markets.ui.preview.MarketChartListItemPreviewDataProvider +import com.tangem.utils.StringsSigns.MINUS import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.drop @@ -306,7 +307,7 @@ private fun RowScope.TokenRatingPlace(ratingPosition: String?) { .padding(horizontal = TangemTheme.dimens.spacing5), ) { Text( - text = ratingPosition ?: "-", + text = ratingPosition ?: MINUS, color = TangemTheme.colors.text.tertiary, style = TangemTheme.typography.caption1, maxLines = 1, diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/recipient/SendRecipientContent.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/recipient/SendRecipientContent.kt index d1421da969..cf63542cee 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/recipient/SendRecipientContent.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/recipient/SendRecipientContent.kt @@ -34,7 +34,7 @@ import com.tangem.features.send.impl.presentation.state.previewdata.RecipientSta import com.tangem.features.send.impl.presentation.state.previewdata.SendClickIntentsStub import com.tangem.core.ui.components.containers.FooterContainer import com.tangem.features.send.impl.presentation.viewmodel.SendClickIntents -import com.tangem.utils.Strings.STARS +import com.tangem.utils.StringsSigns.STARS import kotlinx.collections.immutable.ImmutableList private const val ADDRESS_FIELD_KEY = "ADDRESS_FIELD_KEY" diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/RewardsValidatorStateConverter.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/RewardsValidatorStateConverter.kt index 7ebb9058e7..169be97410 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/RewardsValidatorStateConverter.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/RewardsValidatorStateConverter.kt @@ -13,7 +13,7 @@ import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.features.staking.impl.presentation.state.BalanceState import com.tangem.features.staking.impl.presentation.state.StakingStates import com.tangem.utils.Provider -import com.tangem.utils.Strings.PLUS +import com.tangem.utils.StringsSigns.PLUS import com.tangem.utils.converter.Converter import com.tangem.utils.extensions.addOrReplace import kotlinx.collections.immutable.toPersistentList diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt index 5ca7d71e8e..44b3566f06 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt @@ -42,7 +42,8 @@ import com.tangem.features.staking.impl.presentation.state.previewdata.InitialSt import com.tangem.features.staking.impl.presentation.state.stub.StakingClickIntentsStub import com.tangem.features.staking.impl.presentation.state.transformers.InfoType import com.tangem.features.staking.impl.presentation.viewmodel.StakingClickIntents -import com.tangem.utils.Strings.DOT +import com.tangem.utils.StringsSigns.DOT +import com.tangem.utils.StringsSigns.PLUS import com.tangem.utils.extensions.orZero @Composable @@ -205,7 +206,7 @@ private fun StakingRewardBlock( val (text, textColor) = if (isRewardsToClaim) { annotatedReference( buildAnnotatedString { - append("+") + append(PLUS) appendSpace() append(rewardFiat) appendSpace() diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt index 427d112540..c9ad194413 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt @@ -22,6 +22,8 @@ import com.tangem.feature.swap.models.states.* import com.tangem.feature.swap.presentation.R import com.tangem.feature.swap.viewmodels.SwapProcessDataState import com.tangem.utils.Provider +import com.tangem.utils.StringsSigns.DASH_SIGN +import com.tangem.utils.StringsSigns.TILDE_SIGN import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList import java.math.BigDecimal @@ -243,7 +245,11 @@ internal class StateBuilder( showWarning = true, actions.onReceiveCardWarningClick, ), - amountTextFieldValue = TextFieldValue(quoteModel.toTokenInfo.tokenAmount.formatToUIRepresentation()), + amountTextFieldValue = TextFieldValue( + quoteModel.toTokenInfo.tokenAmount + .formatToUIRepresentation() + .appendApproximateSign(), + ), amountEquivalent = getFormattedFiatAmount(quoteModel.toTokenInfo.amountFiat), token = toCurrencyStatus, tokenIconUrl = uiStateHolder.receiveCardData.tokenIconUrl, @@ -793,7 +799,7 @@ internal class StateBuilder( tokenCurrency = uiStateHolder.receiveCardData.tokenCurrency, canSelectAnotherToken = uiStateHolder.receiveCardData.canSelectAnotherToken, networkIconRes = uiStateHolder.receiveCardData.networkIconRes, - balance = toTokenStatus?.getFormattedAmount(isNeedSymbol = false) ?: UNKNOWN_AMOUNT_SIGN, + balance = toTokenStatus?.getFormattedAmount(isNeedSymbol = false) ?: DASH_SIGN, isBalanceHidden = isBalanceHiddenProvider(), ), warnings = emptyList(), @@ -1648,14 +1654,14 @@ internal class StateBuilder( } private fun CryptoCurrencyStatus.getFormattedAmount(isNeedSymbol: Boolean): String { - val amount = value.amount ?: return UNKNOWN_AMOUNT_SIGN + val amount = value.amount ?: return DASH_SIGN val symbol = if (isNeedSymbol) currency.symbol else "" return BigDecimalFormatter.formatCryptoAmount(amount, symbol, currency.decimals) } @Suppress("UnusedPrivateMember") private fun CryptoCurrencyStatus.getFormattedFiatAmount(): String { - val fiatAmount = value.fiatAmount ?: return UNKNOWN_AMOUNT_SIGN + val fiatAmount = value.fiatAmount ?: return DASH_SIGN val appCurrency = appCurrencyProvider() return BigDecimalFormatter.formatFiatAmount(fiatAmount, appCurrency.code, appCurrency.symbol) @@ -1687,6 +1693,10 @@ internal class StateBuilder( } } + private fun String.appendApproximateSign(): String { + return "$TILDE_SIGN $this" + } + private companion object { private const val RU_LOCALE = "ru" private const val EN_LOCALE = "en" @@ -1694,7 +1704,6 @@ internal class StateBuilder( const val ADDRESS_FIRST_PART_LENGTH = 7 const val ADDRESS_SECOND_PART_LENGTH = 4 private const val PRICE_IMPACT_THRESHOLD = 0.1 - private const val UNKNOWN_AMOUNT_SIGN = "—" private const val MAX_DECIMALS_TO_SHOW = 8 private const val FEE_READ_MORE_URL_FIRST_PART = "https://tangem.com/" private const val FEE_READ_MORE_URL_SECOND_PART = "/blog/post/what-is-a-transaction-fee-and-why-do-we-need-it/" diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt index d58600cab3..4dd7a9395f 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt @@ -38,7 +38,7 @@ import com.tangem.feature.swap.models.* import com.tangem.feature.swap.models.states.FeeItemState import com.tangem.feature.swap.models.states.ProviderState import com.tangem.feature.swap.presentation.R -import com.tangem.utils.Strings.STARS +import com.tangem.utils.StringsSigns.STARS @Suppress("LongMethod") @Composable diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapSelectTokenScreen.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapSelectTokenScreen.kt index 6b753b705a..5066dc9be6 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapSelectTokenScreen.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapSelectTokenScreen.kt @@ -32,7 +32,7 @@ import com.tangem.feature.swap.models.SwapSelectTokenStateHolder import com.tangem.feature.swap.models.TokenBalanceData import com.tangem.feature.swap.models.TokenToSelectState import com.tangem.feature.swap.presentation.R -import com.tangem.utils.Strings +import com.tangem.utils.StringsSigns import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList @@ -254,7 +254,7 @@ private fun TokenItem( text = if (token.addedTokenBalanceData.isBalanceHidden && !token.addedTokenBalanceData.amountEquivalent.isNullOrEmpty() ) { - Strings.STARS + StringsSigns.STARS } else { token.addedTokenBalanceData.amountEquivalent.orEmpty() }, @@ -270,7 +270,7 @@ private fun TokenItem( text = if (token.addedTokenBalanceData.isBalanceHidden && !token.addedTokenBalanceData.amount.isNullOrEmpty() ) { - Strings.STARS + StringsSigns.STARS } else { token.addedTokenBalanceData.amount.orEmpty() }, diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/txhistory/TokenDetailsTxHistoryTransactionStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/txhistory/TokenDetailsTxHistoryTransactionStateConverter.kt index 1e2ab2341d..3aacd1221a 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/txhistory/TokenDetailsTxHistoryTransactionStateConverter.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/txhistory/TokenDetailsTxHistoryTransactionStateConverter.kt @@ -10,6 +10,8 @@ import com.tangem.core.ui.utils.toTimeFormat import com.tangem.domain.txhistory.models.TxHistoryItem import com.tangem.feature.tokendetails.presentation.tokendetails.viewmodels.TokenDetailsClickIntents import com.tangem.features.tokendetails.impl.R +import com.tangem.utils.StringsSigns.MINUS +import com.tangem.utils.StringsSigns.PLUS import com.tangem.utils.converter.Converter import com.tangem.utils.toBriefAddressFormat import com.tangem.utils.toFormattedCurrencyString @@ -96,7 +98,7 @@ internal class TokenDetailsTxHistoryTransactionStateConverter( private fun TxHistoryItem.getAmount(): String { val prefix = when (status) { TxHistoryItem.TransactionStatus.Failed -> "" - else -> if (isOutgoing) "-" else "+" + else -> if (isOutgoing) MINUS else PLUS } return prefix + amount.toFormattedCurrencyString(currency = symbol, decimals = decimals) } diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/TokenDetailsBalanceBlock.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/TokenDetailsBalanceBlock.kt index 394e52f37b..d3e4bdff81 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/TokenDetailsBalanceBlock.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/TokenDetailsBalanceBlock.kt @@ -22,7 +22,7 @@ import com.tangem.feature.tokendetails.presentation.tokendetails.TokenDetailsPre import com.tangem.feature.tokendetails.presentation.tokendetails.state.TokenDetailsBalanceBlockState import com.tangem.feature.tokendetails.presentation.tokendetails.state.components.TokenDetailsActionButton import com.tangem.features.tokendetails.impl.R -import com.tangem.utils.Strings.STARS +import com.tangem.utils.StringsSigns.STARS import kotlinx.collections.immutable.toImmutableList @Composable diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/staking/StakingBalanceBlock.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/staking/StakingBalanceBlock.kt index 3cbd9419a3..0d5d72efd5 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/staking/StakingBalanceBlock.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/staking/StakingBalanceBlock.kt @@ -24,7 +24,7 @@ import com.tangem.core.ui.res.TangemThemePreview import com.tangem.feature.tokendetails.presentation.tokendetails.TokenDetailsPreviewData.stakedBlock import com.tangem.feature.tokendetails.presentation.tokendetails.state.StakingBlockUM import com.tangem.features.tokendetails.impl.R -import com.tangem.utils.Strings +import com.tangem.utils.StringsSigns @Composable internal fun StakingBalanceBlock(state: StakingBlockUM.Staked, modifier: Modifier = Modifier) { @@ -58,7 +58,7 @@ internal fun StakingBalanceBlock(state: StakingBlockUM.Staked, modifier: Modifie color = TangemTheme.colors.text.primary1, ) Text( - text = Strings.DOT, + text = StringsSigns.DOT, style = TangemTheme.typography.body2, color = TangemTheme.colors.text.primary1, ) diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenCryptoAmount.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenCryptoAmount.kt index ff7c37e28b..b68b55f129 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenCryptoAmount.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenCryptoAmount.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.text.style.TextOverflow import com.tangem.core.ui.components.RectangleShimmer import com.tangem.core.ui.res.TangemTheme import com.tangem.feature.wallet.impl.R -import com.tangem.utils.Strings +import com.tangem.utils.StringsSigns import com.tangem.feature.wallet.presentation.common.state.TokenItemState.CryptoAmountState as TokenCryptoAmountState @Composable @@ -23,7 +23,7 @@ internal fun TokenCryptoAmount( when (state) { is TokenCryptoAmountState.Content -> { CryptoAmountText( - amount = if (isBalanceHidden) Strings.STARS else state.text, + amount = if (isBalanceHidden) StringsSigns.STARS else state.text, modifier = modifier, ) } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenFiatAmount.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenFiatAmount.kt index 6bc1be0dbe..437bd97b09 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenFiatAmount.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenFiatAmount.kt @@ -9,7 +9,7 @@ import androidx.compose.ui.composed import androidx.compose.ui.text.style.TextOverflow import com.tangem.core.ui.components.RectangleShimmer import com.tangem.core.ui.res.TangemTheme -import com.tangem.utils.Strings +import com.tangem.utils.StringsSigns import com.tangem.feature.wallet.presentation.common.state.TokenItemState.FiatAmountState as TokenFiatAmountState @Composable @@ -17,7 +17,7 @@ internal fun TokenFiatAmount(state: TokenFiatAmountState?, isBalanceHidden: Bool when (state) { is TokenFiatAmountState.Content -> { FiatAmountText( - text = if (isBalanceHidden) Strings.STARS else state.text, + text = if (isBalanceHidden) StringsSigns.STARS else state.text, modifier, ) } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenPrice.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenPrice.kt index 4822e0d489..4df035cf66 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenPrice.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/component/token/TokenPrice.kt @@ -18,7 +18,7 @@ import com.tangem.core.ui.components.SpacerW6 import com.tangem.core.ui.components.marketprice.PriceChangeType import com.tangem.core.ui.res.TangemTheme import com.tangem.feature.wallet.impl.R -import com.tangem.feature.wallet.presentation.common.state.TokenItemState +import com.tangem.utils.StringsSigns.DASH_SIGN import com.tangem.feature.wallet.presentation.common.state.TokenItemState.CryptoPriceState as TokenPriceChangeState @Composable @@ -33,7 +33,7 @@ internal fun TokenPrice(state: TokenPriceChangeState?, modifier: Modifier = Modi ) } is TokenPriceChangeState.Unknown -> { - PriceText(text = TokenItemState.UNKNOWN_AMOUNT_SIGN, modifier = modifier) + PriceText(text = DASH_SIGN, modifier = modifier) } is TokenPriceChangeState.Loading -> { RectangleShimmer(modifier = modifier.placeholderSize(), radius = TangemTheme.dimens.radius4) @@ -104,7 +104,7 @@ private fun PriceChangeIcon(type: PriceChangeType) { private fun PriceChangeText(type: PriceChangeType?, text: String?, modifier: Modifier = Modifier) { AnimatedContent(targetState = text, modifier = modifier, label = "Update the price change's text") { animatedText -> Text( - text = animatedText ?: TokenItemState.UNKNOWN_AMOUNT_SIGN, + text = animatedText ?: DASH_SIGN, color = when (type) { PriceChangeType.UP -> TangemTheme.colors.text.accent PriceChangeType.DOWN -> TangemTheme.colors.text.warning diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/state/TokenItemState.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/state/TokenItemState.kt index c5bc2e083e..6338c9f8b0 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/state/TokenItemState.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/state/TokenItemState.kt @@ -161,8 +161,4 @@ internal sealed class TokenItemState { object Locked : CryptoPriceState() } - - companion object { - const val UNKNOWN_AMOUNT_SIGN = "—" - } } \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletCardState.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletCardState.kt index d20706f5f8..d2ffe9d0d1 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletCardState.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletCardState.kt @@ -4,7 +4,8 @@ import androidx.annotation.DrawableRes import androidx.compose.runtime.Immutable import com.tangem.core.ui.extensions.TextReference import com.tangem.domain.wallets.models.UserWalletId -import com.tangem.utils.Strings +import com.tangem.utils.StringsSigns +import com.tangem.utils.StringsSigns.DASH_SIGN /** Wallet card state */ @Immutable @@ -123,7 +124,7 @@ internal sealed interface WalletCardState { } companion object { - val HIDDEN_BALANCE_TEXT by lazy { TextReference.Str(value = Strings.STARS) } - val EMPTY_BALANCE_TEXT by lazy { TextReference.Str(value = "—") } + val HIDDEN_BALANCE_TEXT by lazy { TextReference.Str(value = StringsSigns.STARS) } + val EMPTY_BALANCE_TEXT by lazy { TextReference.Str(value = DASH_SIGN) } } } \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TokenItemStateConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TokenItemStateConverter.kt index c16dc3e022..32651bb309 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TokenItemStateConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TokenItemStateConverter.kt @@ -10,6 +10,7 @@ import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.feature.wallet.presentation.common.state.TokenItemState import com.tangem.feature.wallet.presentation.wallet.viewmodels.intents.WalletClickIntents import com.tangem.utils.Provider +import com.tangem.utils.StringsSigns.DASH_SIGN import com.tangem.utils.converter.Converter import com.tangem.utils.extensions.orZero import java.math.BigDecimal @@ -64,7 +65,7 @@ internal class TokenItemStateConverter( private fun CryptoCurrencyStatus.getFormattedAmount(): String { val yieldBalance = (value.yieldBalance as? YieldBalance.Data)?.getTotalStakingBalance().orZero() - val amount = value.amount?.plus(yieldBalance) ?: return TokenItemState.UNKNOWN_AMOUNT_SIGN + val amount = value.amount?.plus(yieldBalance) ?: return DASH_SIGN return BigDecimalFormatter.formatCryptoAmount(amount, currency.symbol, currency.decimals) } @@ -72,7 +73,7 @@ internal class TokenItemStateConverter( private fun CryptoCurrencyStatus.getFormattedFiatAmount(): String { val yieldBalance = (value.yieldBalance as? YieldBalance.Data)?.getTotalStakingBalance().orZero() val fiatYieldBalance = value.fiatRate?.times(yieldBalance).orZero() - val fiatAmount = value.fiatAmount?.plus(fiatYieldBalance) ?: return TokenItemState.UNKNOWN_AMOUNT_SIGN + val fiatAmount = value.fiatAmount?.plus(fiatYieldBalance) ?: return DASH_SIGN val appCurrency = appCurrencyProvider() return BigDecimalFormatter.formatFiatAmount(fiatAmount, appCurrency.code, appCurrency.symbol) diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TxHistoryItemStateConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TxHistoryItemStateConverter.kt index d31a165d9a..45a7931776 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TxHistoryItemStateConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TxHistoryItemStateConverter.kt @@ -9,6 +9,8 @@ import com.tangem.core.ui.utils.toTimeFormat import com.tangem.domain.txhistory.models.TxHistoryItem import com.tangem.feature.wallet.impl.R import com.tangem.feature.wallet.presentation.wallet.viewmodels.intents.WalletClickIntents +import com.tangem.utils.StringsSigns.MINUS +import com.tangem.utils.StringsSigns.PLUS import com.tangem.utils.converter.Converter import com.tangem.utils.toBriefAddressFormat import com.tangem.utils.toFormattedCurrencyString @@ -96,7 +98,7 @@ internal class TxHistoryItemStateConverter( private fun TxHistoryItem.getAmount(): String { val prefix = when (status) { TxHistoryItem.TransactionStatus.Failed -> "" - else -> if (isOutgoing) "-" else "+" + else -> if (isOutgoing) MINUS else PLUS } return prefix + amount.toFormattedCurrencyString(currency = symbol, decimals = decimals) } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/VisaTxHistoryItemStateConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/VisaTxHistoryItemStateConverter.kt index 819d0d20d1..60ac94068a 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/VisaTxHistoryItemStateConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/VisaTxHistoryItemStateConverter.kt @@ -9,7 +9,7 @@ import com.tangem.domain.visa.model.VisaCurrency import com.tangem.domain.visa.model.VisaTxHistoryItem import com.tangem.feature.wallet.impl.R import com.tangem.feature.wallet.presentation.wallet.viewmodels.intents.VisaWalletIntents -import com.tangem.utils.Strings +import com.tangem.utils.StringsSigns import com.tangem.utils.converter.Converter import org.joda.time.DateTimeZone @@ -21,7 +21,7 @@ internal class VisaTxHistoryItemStateConverter( override fun convert(value: VisaTxHistoryItem): TransactionState { val localDate = value.date.withZone(DateTimeZone.getDefault()) val time = DateTimeFormatters.formatDate(localDate, DateTimeFormatters.timeFormatter) - val subtitle = "$time ${Strings.DOT} ${value.status.capitalize()}" + val subtitle = "$time ${StringsSigns.DOT} ${value.status.capitalize()}" return TransactionState.Content( txHash = value.id, diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletCard.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletCard.kt index 7cc578f380..07aaba8fe5 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletCard.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletCard.kt @@ -53,7 +53,7 @@ import com.tangem.core.ui.res.TangemThemePreview import com.tangem.feature.wallet.impl.R import com.tangem.feature.wallet.presentation.common.WalletPreviewData import com.tangem.feature.wallet.presentation.wallet.state.model.WalletCardState -import com.tangem.utils.Strings +import com.tangem.utils.StringsSigns private const val HALF_OF_ITEM_WIDTH = 0.5 @@ -291,7 +291,7 @@ private fun Balance(state: WalletCardState, isBalanceHidden: Boolean, modifier: when (walletCardState) { is WalletCardState.Content -> { ResizableText( - text = if (isBalanceHidden) Strings.STARS else walletCardState.balance, + text = if (isBalanceHidden) StringsSigns.STARS else walletCardState.balance, fontSizeRange = FontSizeRange(min = 16.sp, max = TangemTheme.typography.h2.fontSize), modifier = Modifier.defaultMinSize(minHeight = TangemTheme.dimens.size32), color = TangemTheme.colors.text.primary1,