diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/models/SupportTokensState.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/models/SupportTokensState.kt index e815d5d1e7..0917dcb2f9 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/models/SupportTokensState.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/models/SupportTokensState.kt @@ -5,7 +5,7 @@ package com.tangem.tap.features.tokens.impl.presentation.models */ sealed class SupportTokensState { - object SolanaNetworkUnsupported : SupportTokensState() + object NetworkTokensUnsupported : SupportTokensState() object UnsupportedCurve : SupportTokensState() object SupportedToken : SupportTokensState() } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/router/DefaultTokensListRouter.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/router/DefaultTokensListRouter.kt index 68b277ea7e..8c763c93d6 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/router/DefaultTokensListRouter.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/router/DefaultTokensListRouter.kt @@ -51,11 +51,12 @@ internal class DefaultTokensListRouter : TokensListRouter { store.dispatchDialogShow(alert) } - override fun openSolanaTokensNotSupportAlert() { + override fun openNetworkTokensNotSupportAlert(networkName: String) { store.dispatchDialogShow( AppDialog.SimpleOkDialogRes( headerId = R.string.common_warning, messageId = R.string.alert_manage_tokens_unsupported_message, + args = listOf(networkName), ), ) } diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/router/TokensListRouter.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/router/TokensListRouter.kt index ee87445d1d..8347f59a2e 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/router/TokensListRouter.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/router/TokensListRouter.kt @@ -37,7 +37,7 @@ internal interface TokensListRouter { fun openUnsupportedNetworkAlert(blockchain: Blockchain) /** - * Open alert with Solana tokens error + * Open alert with unsupported networks tokens error */ - fun openSolanaTokensNotSupportAlert() + fun openNetworkTokensNotSupportAlert(networkName: String) } \ No newline at end of file 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 a03a0aef85..f2046c81df 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 @@ -4,7 +4,10 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue -import androidx.lifecycle.* +import androidx.lifecycle.DefaultLifecycleObserver +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import androidx.paging.* import com.tangem.blockchain.common.Blockchain import com.tangem.core.analytics.api.AnalyticsEventHandler @@ -37,7 +40,9 @@ import com.tangem.utils.coroutines.Debouncer import com.tangem.wallet.R import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.collections.immutable.toImmutableList -import kotlinx.coroutines.flow.* +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch import kotlinx.coroutines.plus import timber.log.Timber @@ -406,14 +411,20 @@ internal class TokensListViewModel @Inject constructor( } } else { when (isUnsupportedToken(token.blockchain)) { - SupportTokensState.SolanaNetworkUnsupported -> router.openSolanaTokensNotSupportAlert() + SupportTokensState.NetworkTokensUnsupported -> { + router.openNetworkTokensNotSupportAlert(token.blockchain.fullName) + } SupportTokensState.SupportedToken -> { analyticsSender.sendWhenTokenAdded(token.token) changedTokensList.add(token) toggledNetwork.changeToggleState() } - SupportTokensState.UnsupportedCurve -> router.openUnsupportedNetworkAlert(token.blockchain) - null -> Timber.e("Something went wrong in isUnsupportedToken (no scanResponse found)") + SupportTokensState.UnsupportedCurve -> { + router.openUnsupportedNetworkAlert(token.blockchain) + } + null -> { + Timber.e("Something went wrong in isUnsupportedToken (no scanResponse found)") + } } } } @@ -428,7 +439,7 @@ internal class TokensListViewModel @Inject constructor( // refactor this later by moving all this logic in card config if (blockchain == Blockchain.Solana && !supportedTokens.contains(Blockchain.Solana)) { - return SupportTokensState.SolanaNetworkUnsupported + return SupportTokensState.NetworkTokensUnsupported } val canHandleToken = it.scanResponse.card.canHandleToken( supportedTokens = supportedTokens,