From 67261ac8051cce37e417ed135a60ea2731464f76 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 3 Jul 2023 13:35:16 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../data/DefaultLearn2earnRepository.kt | 2 -- .../data/api/Learn2earnRepository.kt | 3 --- .../data/di/Learn2earnDataModule.kt | 19 +------------------ ... DefaultLearn2earnFeatureToggleManager.kt} | 2 +- .../DevLearn2earnFeatureToggleManager.kt | 10 ---------- .../domain/DefaultLearn2earnInteractor.kt | 6 ++++-- .../domain/di/Learn2earnDomainModule.kt | 11 +++++++++++ 7 files changed, 17 insertions(+), 36 deletions(-) rename features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/{ProdLearn2earnFeatureToggleManager.kt => DefaultLearn2earnFeatureToggleManager.kt} (87%) delete mode 100644 features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt index 971d2b741d..c10f0d57bb 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/DefaultLearn2earnRepository.kt @@ -6,7 +6,6 @@ import com.tangem.datasource.api.promotion.models.* import com.tangem.feature.learn2earn.data.api.Learn2earnPreferenceStorage import com.tangem.feature.learn2earn.data.api.Learn2earnRepository import com.tangem.feature.learn2earn.data.models.PromoUserData -import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager import com.tangem.utils.coroutines.AppCoroutineDispatcherProvider import kotlinx.coroutines.withContext import timber.log.Timber @@ -15,7 +14,6 @@ import timber.log.Timber [REDACTED_AUTHOR] */ internal class DefaultLearn2earnRepository( - override val featureToggleManager: Learn2earnFeatureToggleManager, private val preferencesStorage: Learn2earnPreferenceStorage, private val api: PromotionApi, private val dispatchers: AppCoroutineDispatcherProvider, diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt index 442106b597..06e95628d7 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/api/Learn2earnRepository.kt @@ -2,15 +2,12 @@ package com.tangem.feature.learn2earn.data.api import com.tangem.datasource.api.promotion.models.* import com.tangem.feature.learn2earn.data.models.PromoUserData -import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager /** [REDACTED_AUTHOR] */ interface Learn2earnRepository { - val featureToggleManager: Learn2earnFeatureToggleManager - fun getUserData(): PromoUserData fun updateUserData(userData: PromoUserData) diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt index a27766ed01..186b3c8458 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/di/Learn2earnDataModule.kt @@ -2,7 +2,6 @@ package com.tangem.feature.learn2earn.data.di import android.content.Context import com.squareup.moshi.Moshi -import com.tangem.core.featuretoggle.manager.FeatureTogglesManager import com.tangem.datasource.api.promotion.PromotionApi import com.tangem.datasource.di.NetworkMoshi import com.tangem.datasource.di.PromotionOneInch @@ -10,10 +9,6 @@ import com.tangem.feature.learn2earn.data.DefaultLearn2earnRepository import com.tangem.feature.learn2earn.data.DefaultPreferenceStorage import com.tangem.feature.learn2earn.data.api.Learn2earnPreferenceStorage import com.tangem.feature.learn2earn.data.api.Learn2earnRepository -import com.tangem.feature.learn2earn.data.toggles.DevLearn2earnFeatureToggleManager -import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager -import com.tangem.feature.learn2earn.data.toggles.ProdLearn2earnFeatureToggleManager -import com.tangem.feature.learn2earn.impl.BuildConfig import com.tangem.utils.coroutines.AppCoroutineDispatcherProvider import dagger.Module import dagger.Provides @@ -24,17 +19,7 @@ import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) -class Learn2earnDataModule { - - @Provides - @Singleton - fun provideFeatureToggle(featureToggleManager: FeatureTogglesManager): Learn2earnFeatureToggleManager { - return if (BuildConfig.DEBUG) { - DevLearn2earnFeatureToggleManager() - } else { - ProdLearn2earnFeatureToggleManager(featureToggleManager) - } - } +internal class Learn2earnDataModule { @Provides @Singleton @@ -45,14 +30,12 @@ class Learn2earnDataModule { @Provides @Singleton fun provideRepository( - featureToggleManager: Learn2earnFeatureToggleManager, preferenceStorage: Learn2earnPreferenceStorage, @NetworkMoshi moshi: Moshi, @PromotionOneInch promotionApi: PromotionApi, dispatchers: AppCoroutineDispatcherProvider, ): Learn2earnRepository { return DefaultLearn2earnRepository( - featureToggleManager = featureToggleManager, preferencesStorage = preferenceStorage, api = promotionApi, dispatchers = dispatchers, diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DefaultLearn2earnFeatureToggleManager.kt similarity index 87% rename from features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt rename to features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DefaultLearn2earnFeatureToggleManager.kt index 400cae57b8..19306c2aed 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/ProdLearn2earnFeatureToggleManager.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DefaultLearn2earnFeatureToggleManager.kt @@ -5,7 +5,7 @@ import com.tangem.core.featuretoggle.manager.FeatureTogglesManager /** [REDACTED_AUTHOR] */ -class ProdLearn2earnFeatureToggleManager( +internal class DefaultLearn2earnFeatureToggleManager( private val featureTogglesManager: FeatureTogglesManager, ) : Learn2earnFeatureToggleManager { diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt deleted file mode 100644 index 79cfec1eb8..0000000000 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/data/toggles/DevLearn2earnFeatureToggleManager.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.tangem.feature.learn2earn.data.toggles - -/** -[REDACTED_AUTHOR] - */ -class DevLearn2earnFeatureToggleManager : Learn2earnFeatureToggleManager { - - override val isLearn2earnEnabled: Boolean - get() = true -} \ No newline at end of file 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 6031624216..90d279f90f 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 @@ -5,6 +5,7 @@ import com.tangem.datasource.api.promotion.models.AbstractPromotionResponse import com.tangem.datasource.api.promotion.models.PromotionInfoResponse import com.tangem.feature.learn2earn.data.api.Learn2earnRepository import com.tangem.feature.learn2earn.data.models.PromoUserData +import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager import com.tangem.feature.learn2earn.domain.api.* import com.tangem.feature.learn2earn.domain.models.Promotion import com.tangem.feature.learn2earn.domain.models.PromotionError @@ -17,6 +18,7 @@ import com.tangem.lib.crypto.models.Currency [REDACTED_AUTHOR] */ class DefaultLearn2earnInteractor( + private val featureToggleManager: Learn2earnFeatureToggleManager, private val repository: Learn2earnRepository, private val userWalletManager: UserWalletManager, private val derivationManager: DerivationManager, @@ -207,7 +209,7 @@ class DefaultLearn2earnInteractor( private fun promotionIsActive(): Boolean { val userData = repository.getUserData() val isActive = when { - !repository.featureToggleManager.isLearn2earnEnabled -> false + !featureToggleManager.isLearn2earnEnabled -> false userData.isAlreadyReceivedAward -> false promotion.isError() -> false else -> { @@ -220,7 +222,7 @@ class DefaultLearn2earnInteractor( } private suspend fun initPromotionInfo() { - promotion = if (repository.featureToggleManager.isLearn2earnEnabled) { + promotion = if (featureToggleManager.isLearn2earnEnabled) { repository.getPromotionInfo() .fold( onSuccess = { response -> diff --git a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/di/Learn2earnDomainModule.kt b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/di/Learn2earnDomainModule.kt index 7ae76d3a19..7f48ea304a 100644 --- a/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/di/Learn2earnDomainModule.kt +++ b/features/learn2earn/impl/src/main/java/com/tangem/feature/learn2earn/domain/di/Learn2earnDomainModule.kt @@ -1,7 +1,10 @@ package com.tangem.feature.learn2earn.domain.di import android.content.Context +import com.tangem.core.featuretoggle.manager.FeatureTogglesManager import com.tangem.feature.learn2earn.data.api.Learn2earnRepository +import com.tangem.feature.learn2earn.data.toggles.DefaultLearn2earnFeatureToggleManager +import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager import com.tangem.feature.learn2earn.domain.DefaultLearn2earnInteractor import com.tangem.feature.learn2earn.domain.api.Learn2earnDependencyProvider import com.tangem.feature.learn2earn.domain.api.Learn2earnInteractor @@ -26,15 +29,23 @@ class Learn2earnDomainModule { return Learn2earnRouter(context) } + @Provides + @Singleton + fun provideFeatureToggle(featureToggleManager: FeatureTogglesManager): Learn2earnFeatureToggleManager { + return DefaultLearn2earnFeatureToggleManager(featureToggleManager) + } + @Provides @Singleton fun provideInteractor( + featureToggleManager: Learn2earnFeatureToggleManager, repository: Learn2earnRepository, dependencyProvider: Learn2earnDependencyProvider, userWalletManager: UserWalletManager, derivationManager: DerivationManager, ): Learn2earnInteractor { return DefaultLearn2earnInteractor( + featureToggleManager = featureToggleManager, repository = repository, userWalletManager = userWalletManager, derivationManager = derivationManager,