From cf6a14d2629cfbde110bbb17eaae080ec7041c93 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 25 Apr 2023 15:18:51 +0800 Subject: [PATCH] Updated on 2026-08-14 --- .../impl/presentation/states/TokenItemState.kt | 14 ++++++++------ .../tokens/impl/presentation/ui/TokenItem.kt | 4 ++-- .../impl/presentation/ui/TokenListPreviewData.kt | 5 +++-- .../impl/presentation/ui/TokensListScreen.kt | 2 +- .../presentation/viewmodels/TokensListViewModel.kt | 7 ++++--- 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/states/TokenItemState.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/states/TokenItemState.kt index 603989d157..7c4f94e230 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/states/TokenItemState.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/states/TokenItemState.kt @@ -9,8 +9,8 @@ import kotlinx.collections.immutable.ImmutableList */ sealed interface TokenItemState { - /** Token name */ - val name: String + /** Token full name (name with symbol) */ + val fullName: String /** Token icon url */ val iconUrl: String @@ -21,12 +21,12 @@ sealed interface TokenItemState { /** * Token item state that is available for read * - * @property name token name + * @property fullName token name * @property iconUrl token icon url * @property networks list of networks that is available for read */ data class ReadContent( - override val name: String, + override val fullName: String, override val iconUrl: String, override val networks: ImmutableList, ) : TokenItemState @@ -34,17 +34,19 @@ sealed interface TokenItemState { /** * Token item state that is available for read and manage * - * @property name token name + * @property fullName token name * @property iconUrl token icon url * @property networks list of networks is available for read and edit * @property id token id + * @property name token name * @property symbol token brief name */ data class ManageContent( - override val name: String, + override val fullName: String, override val iconUrl: String, override val networks: ImmutableList, val id: String, + val name: String, val symbol: String, ) : TokenItemState } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokenItem.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokenItem.kt index 3545c6a2a5..9f3c695bb2 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokenItem.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokenItem.kt @@ -60,7 +60,7 @@ internal fun TokenItem(model: TokenItemState) { val spacing6 = TangemTheme.dimens.spacing6 Icon( - name = model.name, + name = model.fullName, iconUrl = model.iconUrl, modifier = Modifier.constrainAs(icon) { top.linkTo(parent.top) @@ -69,7 +69,7 @@ internal fun TokenItem(model: TokenItemState) { ) Title( - title = model.name, + title = model.fullName, modifier = Modifier.constrainAs(title) { top.linkTo(parent.top) start.linkTo(icon.end, margin = spacing16) diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokenListPreviewData.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokenListPreviewData.kt index 3fb8f93097..6341c4bd13 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokenListPreviewData.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokenListPreviewData.kt @@ -15,17 +15,18 @@ object TokenListPreviewData { fun createManageToken(): TokenItemState.ManageContent { return TokenItemState.ManageContent( - name = "Tether (USDT)", + fullName = "Tether (USDT)", iconUrl = "https://s3.eu-central-1.amazonaws.com/tangem.api/coins/large/tether.png", networks = createManageNetworksList(), id = "", + name = "Tether", symbol = "", ) } fun createReadToken(): TokenItemState.ReadContent { return TokenItemState.ReadContent( - name = "Tether (USDT)", + fullName = "Tether (USDT)", iconUrl = "https://s3.eu-central-1.amazonaws.com/tangem.api/coins/large/tether.png", networks = createReadNetworksList(), ) diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokensListScreen.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokensListScreen.kt index 08d9d6978c..3e7e01c845 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokensListScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/ui/TokensListScreen.kt @@ -113,7 +113,7 @@ private fun TokensListContent( item { DifferentAddressesWarning() } } - items(items = tokens, key = TokenItemState::name) { + items(items = tokens, key = TokenItemState::fullName) { it?.let { TokenItem(model = it) } } } diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/viewmodels/TokensListViewModel.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/viewmodels/TokensListViewModel.kt index 543e23d996..eff8dd3e7d 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/viewmodels/TokensListViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/viewmodels/TokensListViewModel.kt @@ -126,10 +126,11 @@ internal class TokensListViewModel @Inject constructor( private fun createManageTokenContent(token: Token): TokenItemState.ManageContent { return TokenItemState.ManageContent( - name = getTokenName(token), + fullName = getTokenFullName(token), iconUrl = token.iconUrl, networks = token.networks.map(::createManageNetworkContent).toImmutableList(), id = token.id, + name = token.name, symbol = token.symbol, ) } @@ -156,7 +157,7 @@ internal class TokensListViewModel @Inject constructor( private fun createReadTokenContent(token: Token): TokenItemState.ReadContent { return TokenItemState.ReadContent( - name = getTokenName(token), + fullName = getTokenFullName(token), iconUrl = token.iconUrl, networks = token.networks.map(::createReadNetworkContent).toImmutableList(), ) @@ -171,7 +172,7 @@ internal class TokensListViewModel @Inject constructor( ) } - private fun getTokenName(token: Token) = "${token.name} (${token.symbol})" + private fun getTokenFullName(token: Token) = "${token.name} (${token.symbol})" private fun getNetworkProtocolName(network: Network): String { return if (network.address == null) {