From defad16d4b88167e09726ebc37e3c38448a8ffa1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 4 Jul 2023 17:32:05 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../tap/features/wallet/ui/WalletFragment.kt | 1 + .../domain/DefaultLearn2earnInteractor.kt | 14 ++++++++++++-- .../learn2earn/presentation/Learn2earnViewModel.kt | 4 ++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt index 6540470882..aabfdc376d 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt @@ -268,6 +268,7 @@ class WalletFragment : Fragment(R.layout.fragment_wallet), SafeStoreSubscriber) { diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt index bb626f9c8c..7bfc706242 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/DefaultLearn2earnInteractor.kt @@ -48,8 +48,18 @@ class DefaultLearn2earnInteractor( override suspend fun isNeedToShowViewOnMainScreen(): Boolean { if (!promotionIsActive()) return false - val response = repository.validate(userWalletManager.getWalletId()) - return response.valid == true + val promoCode = repository.getUserData().promoCode + val userWalletId = userWalletManager.getWalletId() + return if (promoCode == null) { + val response = repository.validate(userWalletId) + response.valid == true + } else { + val response = repository.validateCode(userWalletId, promoCode) + when (val error = response.error?.toDomainError()) { + null -> response.valid == true + else -> error !is PromotionError.CodeWasNotAppliedInShop + } + } } override fun isUserRegisteredInPromotion(): Boolean { diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/Learn2earnViewModel.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/Learn2earnViewModel.kt index d19c749230..e6d45c0b51 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/Learn2earnViewModel.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/Learn2earnViewModel.kt @@ -45,6 +45,10 @@ class Learn2earnViewModel @Inject constructor( updateMainScreenViews() } + fun onMainScreenRefreshed() { + updateMainScreenViews() + } + private fun updateMainScreenViews() { viewModelScope.launch(dispatchers.io) { if (interactor.isNeedToShowViewOnMainScreen()) {