From 8c165ef8913ff220176dc4919d9c0d53b2686284 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 4 Jul 2023 19:24:49 +0300 Subject: [PATCH 1/2] Updated on 2026-08-14 --- core/res/src/main/res/values-ru/strings.xml | 2 +- core/res/src/main/res/values/strings.xml | 2 +- .../feature/learn2earn/domain/DefaultLearn2earnInteractor.kt | 5 +++++ .../feature/learn2earn/domain/api/Learn2earnInteractor.kt | 2 ++ .../feature/learn2earn/presentation/Learn2earnViewModel.kt | 1 + .../feature/learn2earn/presentation/ui/Learn2earnDialogs.kt | 2 +- .../learn2earn/presentation/ui/state/Learn2earnState.kt | 1 + 7 files changed, 12 insertions(+), 3 deletions(-) diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index fb5043c0be..786ebc97f0 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -174,7 +174,7 @@ Бэкап кошелька не был произведен Баланс В сумме учтены не все монеты - Токены 1inch будут зачислены на адрес вашего кошелька в течение 2 дней + Токены 1inch будут зачислены на адрес вашего кошелька %s в течение 24 часов По вашему промокоду не было покупки кошелька, а значит вы не можете получить бонус. Купите кошелек Tangem, отсканируйте его в приложении и получите бонус. Чтобы получить доступ ко всем сетям, вам необходимо отсканировать карту Отсканируйте карту diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 3c95aa8a19..c877dbfd00 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -170,7 +170,7 @@ Your wallet has not been backed up Total balance The amount does not include some of your funds - 1inch tokens will be credited to your wallet address within 2 days + 1inch tokens will be credited to your %s wallet address within 24 hours There was no purchase of a wallet using your promo code, which means you cannot receive a bonus. Buy Tangem wallet, scan it in the app, and get the bonus. To access all the networks you need to scan the card Scan your card 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 6ed2706253..bb626f9c8c 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 @@ -63,6 +63,11 @@ class DefaultLearn2earnInteractor( return awardAmount } + override fun getAwardNetworkName(): String { + val networkId = promotion.getPromotionInfo().awardPaymentToken.networkId + return userWalletManager.getNativeTokenForNetwork(networkId).name + } + @Throws(IllegalArgumentException::class) override suspend fun requestAward(): Result { val awardCurrency = getCurrencyForAward() diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/api/Learn2earnInteractor.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/api/Learn2earnInteractor.kt index 2cdadbb236..95bb9d7ad9 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/api/Learn2earnInteractor.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/api/Learn2earnInteractor.kt @@ -21,6 +21,8 @@ interface Learn2earnInteractor : WebViewRedirectHandler { fun getAwardAmount(): Int + fun getAwardNetworkName(): String + @Throws(IllegalArgumentException::class) suspend fun requestAward(): Result 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 cb99ddef44..d19c749230 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 @@ -81,6 +81,7 @@ class Learn2earnViewModel @Inject constructor( .hideDialog() } val successDialog = MainScreenState.Dialog.Claimed( + networkFullName = interactor.getAwardNetworkName(), onOk = onHideDialog, onDismissRequest = onHideDialog, ) diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/ui/Learn2earnDialogs.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/ui/Learn2earnDialogs.kt index 2f752ea0fd..9a21f29231 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/ui/Learn2earnDialogs.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/ui/Learn2earnDialogs.kt @@ -28,7 +28,7 @@ private fun ClaimedDialog(dialog: MainScreenState.Dialog.Claimed) { Text(text = stringResource(id = R.string.common_success)) }, text = { - Text(text = stringResource(id = R.string.main_promotion_credited)) + Text(text = stringResource(id = R.string.main_promotion_credited, dialog.networkFullName)) }, confirmButton = { TextButton( diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/ui/state/Learn2earnState.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/ui/state/Learn2earnState.kt index 7c1ba34c55..c6eb8a4d4d 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/ui/state/Learn2earnState.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/presentation/ui/state/Learn2earnState.kt @@ -50,6 +50,7 @@ data class MainScreenState( sealed class Dialog { data class Claimed( + val networkFullName: String, val onOk: () -> Unit, val onDismissRequest: () -> Unit, ) : Dialog() From defad16d4b88167e09726ebc37e3c38448a8ffa1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 4 Jul 2023 17:32:05 +0300 Subject: [PATCH 2/2] 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()) {