From f076ab08e77492a1114ea80068f7206e86b73b50 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 11 Sep 2024 16:25:43 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../preview/PreviewWalletSettingsComponent.kt | 9 ++------- .../walletsettings/model/WalletSettingsModel.kt | 3 +++ .../feature/walletsettings/utils/ItemsBuilder.kt | 14 ++++++++++---- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/preview/PreviewWalletSettingsComponent.kt b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/preview/PreviewWalletSettingsComponent.kt index 4c4d0e3f25..c0f134ef22 100644 --- a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/preview/PreviewWalletSettingsComponent.kt +++ b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/preview/PreviewWalletSettingsComponent.kt @@ -8,18 +8,12 @@ import com.tangem.feature.walletsettings.component.WalletSettingsComponent import com.tangem.feature.walletsettings.entity.WalletSettingsUM import com.tangem.feature.walletsettings.ui.WalletSettingsScreen import com.tangem.feature.walletsettings.utils.ItemsBuilder -import com.tangem.features.managetokens.ManageTokensToggles internal class PreviewWalletSettingsComponent : WalletSettingsComponent { private val previewState = WalletSettingsUM( popBack = {}, - items = ItemsBuilder( - router = DummyRouter(), - manageTokensToggles = object : ManageTokensToggles { - override val isFeatureEnabled: Boolean = true - }, - ).buildItems( + items = ItemsBuilder(router = DummyRouter()).buildItems( userWalletId = UserWalletId("011"), userWalletName = "My Wallet", isReferralAvailable = true, @@ -27,6 +21,7 @@ internal class PreviewWalletSettingsComponent : WalletSettingsComponent { renameWallet = {}, forgetWallet = {}, onLinkMoreCardsClick = {}, + isManageTokensAvailable = true, ), ) diff --git a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/model/WalletSettingsModel.kt b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/model/WalletSettingsModel.kt index fcb721457e..ba19734477 100644 --- a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/model/WalletSettingsModel.kt +++ b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/model/WalletSettingsModel.kt @@ -32,6 +32,7 @@ import com.tangem.feature.walletsettings.entity.WalletSettingsItemUM import com.tangem.feature.walletsettings.entity.WalletSettingsUM import com.tangem.feature.walletsettings.impl.R import com.tangem.feature.walletsettings.utils.ItemsBuilder +import com.tangem.features.managetokens.ManageTokensToggles import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf @@ -53,6 +54,7 @@ internal class WalletSettingsModel @Inject constructor( private val analyticsEventHandler: AnalyticsEventHandler, private val analyticsContextProxy: AnalyticsContextProxy, private val reduxStateHolder: ReduxStateHolder, + private val manageTokensToggles: ManageTokensToggles, ) : Model() { val params: WalletSettingsComponent.Params = paramsContainer.require() @@ -86,6 +88,7 @@ internal class WalletSettingsModel @Inject constructor( userWalletName = userWallet.name, isReferralAvailable = userWallet.cardTypesResolver.isTangemWallet(), isLinkMoreCardsAvailable = userWallet.scanResponse.card.backupStatus == CardDTO.BackupStatus.NoBackup, + isManageTokensAvailable = userWallet.isMultiCurrency && manageTokensToggles.isFeatureEnabled, renameWallet = { openRenameWalletDialog(userWallet, dialogNavigation) }, forgetWallet = { messageSender.send( diff --git a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/utils/ItemsBuilder.kt b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/utils/ItemsBuilder.kt index 4a7d294e77..896d1bbf0c 100644 --- a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/utils/ItemsBuilder.kt +++ b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/utils/ItemsBuilder.kt @@ -9,7 +9,6 @@ import com.tangem.core.ui.extensions.stringReference import com.tangem.domain.wallets.models.UserWalletId import com.tangem.feature.walletsettings.entity.WalletSettingsItemUM import com.tangem.feature.walletsettings.impl.R -import com.tangem.features.managetokens.ManageTokensToggles import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList @@ -18,7 +17,6 @@ import javax.inject.Inject @ComponentScoped internal class ItemsBuilder @Inject constructor( private val router: Router, - private val manageTokensToggles: ManageTokensToggles, ) { @Suppress("LongParameterList") @@ -27,12 +25,19 @@ internal class ItemsBuilder @Inject constructor( userWalletName: String, isLinkMoreCardsAvailable: Boolean, isReferralAvailable: Boolean, + isManageTokensAvailable: Boolean, forgetWallet: () -> Unit, renameWallet: () -> Unit, onLinkMoreCardsClick: () -> Unit, ): PersistentList = persistentListOf( buildNameItem(userWalletName, renameWallet), - buildCardItem(userWalletId, isLinkMoreCardsAvailable, isReferralAvailable, onLinkMoreCardsClick), + buildCardItem( + userWalletId = userWalletId, + isLinkMoreCardsAvailable = isLinkMoreCardsAvailable, + isReferralAvailable = isReferralAvailable, + isManageTokensAvailable = isManageTokensAvailable, + onLinkMoreCardsClick = onLinkMoreCardsClick, + ), buildForgetItem(forgetWallet), ) @@ -47,12 +52,13 @@ internal class ItemsBuilder @Inject constructor( userWalletId: UserWalletId, isLinkMoreCardsAvailable: Boolean, isReferralAvailable: Boolean, + isManageTokensAvailable: Boolean, onLinkMoreCardsClick: () -> Unit, ) = WalletSettingsItemUM.WithItems( id = "card", description = resourceReference(R.string.settings_card_settings_footer), blocks = buildList { - if (manageTokensToggles.isFeatureEnabled) { + if (isManageTokensAvailable) { BlockUM( text = resourceReference(R.string.add_tokens_title), iconRes = R.drawable.ic_tether_24,