From 87def6a0a5f5f26e5f0fcf13942d005914c2f560 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 18 Jul 2024 13:11:19 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/domain/wallets/legacy/UserWalletsListManager.kt | 2 ++ .../domain/wallets/usecase/GetSelectedWalletSyncUseCase.kt | 1 + .../tangem/domain/wallets/usecase/GetSelectedWalletUseCase.kt | 1 + .../wallet/presentation/wallet/viewmodels/WalletViewModel.kt | 2 ++ 4 files changed, 6 insertions(+) diff --git a/domain/wallets/src/main/java/com/tangem/domain/wallets/legacy/UserWalletsListManager.kt b/domain/wallets/src/main/java/com/tangem/domain/wallets/legacy/UserWalletsListManager.kt index 9b63847e73..bd117a8c8e 100644 --- a/domain/wallets/src/main/java/com/tangem/domain/wallets/legacy/UserWalletsListManager.kt +++ b/domain/wallets/src/main/java/com/tangem/domain/wallets/legacy/UserWalletsListManager.kt @@ -16,12 +16,14 @@ interface UserWalletsListManager { val userWallets: Flow> /** [Flow] with selected [UserWallet] updates */ + @Deprecated("You should provide the selected wallet via routing parameters due to the scalability of the features") val selectedUserWallet: Flow /** [List] with all saved [UserWallet]s updates */ val userWalletsSync: List /** Selected [UserWallet] */ + @Deprecated("You should provide the selected wallet via routing parameters due to the scalability of the features") val selectedUserWalletSync: UserWallet? /** Indicates that the [UserWalletsListManager] contains at least one saved [UserWallet] */ diff --git a/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetSelectedWalletSyncUseCase.kt b/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetSelectedWalletSyncUseCase.kt index e9f51327a6..ebcd1378d7 100644 --- a/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetSelectedWalletSyncUseCase.kt +++ b/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetSelectedWalletSyncUseCase.kt @@ -17,6 +17,7 @@ import com.tangem.domain.wallets.models.UserWallet */ class GetSelectedWalletSyncUseCase(private val userWalletsListManager: UserWalletsListManager) { + @Deprecated("You should provide the selected wallet via routing parameters due to the scalability of the features") operator fun invoke(): Either { return either { ensureNotNull( diff --git a/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetSelectedWalletUseCase.kt b/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetSelectedWalletUseCase.kt index bda3c953ee..4751238a0f 100644 --- a/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetSelectedWalletUseCase.kt +++ b/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetSelectedWalletUseCase.kt @@ -16,6 +16,7 @@ import kotlinx.coroutines.flow.Flow */ class GetSelectedWalletUseCase(private val userWalletsListManager: UserWalletsListManager) { + @Deprecated("You should provide the selected wallet via routing parameters due to the scalability of the features") operator fun invoke(): Either> { return either { userWalletsListManager.selectedUserWallet diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt index e13c2f56af..9c94f8bcdf 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt @@ -176,6 +176,8 @@ internal class WalletViewModel @Inject constructor( } } + // It's okay here because we need to be able to observe the selected wallet changes + @Suppress("DEPRECATION") private fun subscribeOnSelectedWalletFlow() { getSelectedWalletUseCase().onRight { it