Updated on 2026-08-14
This commit is contained in:
parent
aacbd8d715
commit
510f312c33
2 changed files with 18 additions and 5 deletions
|
|
@ -3,6 +3,7 @@ package com.tangem.feature.learn2earn.domain
|
|||
import android.net.Uri
|
||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||
import com.tangem.datasource.api.promotion.models.PromotionInfoResponse
|
||||
import com.tangem.datasource.demo.DemoModeDatasource
|
||||
import com.tangem.feature.learn2earn.analytics.AnalyticsParam
|
||||
import com.tangem.feature.learn2earn.analytics.Learn2earnEvents.*
|
||||
import com.tangem.feature.learn2earn.data.api.Learn2earnRepository
|
||||
|
|
@ -19,12 +20,14 @@ import com.tangem.lib.crypto.models.Currency
|
|||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
@Suppress("LongParameterList")
|
||||
internal class DefaultLearn2earnInteractor(
|
||||
private val featureToggleManager: Learn2earnFeatureToggleManager,
|
||||
private val repository: Learn2earnRepository,
|
||||
private val userWalletManager: UserWalletManager,
|
||||
private val derivationManager: DerivationManager,
|
||||
private val analytics: AnalyticsEventHandler,
|
||||
private val demoModeDatasource: DemoModeDatasource,
|
||||
private val dependencyProvider: Learn2earnDependencyProvider,
|
||||
) : Learn2earnInteractor {
|
||||
|
||||
|
|
@ -221,6 +224,7 @@ internal class DefaultLearn2earnInteractor(
|
|||
|
||||
override fun isPromotionActive(): Boolean {
|
||||
val isActive = when {
|
||||
demoModeDatasource.isDemoModeActive -> false
|
||||
!featureToggleManager.isLearn2earnEnabled -> false
|
||||
repository.getUserData().isAlreadyReceivedAward -> false
|
||||
else -> !promotion.isError()
|
||||
|
|
@ -230,15 +234,21 @@ internal class DefaultLearn2earnInteractor(
|
|||
}
|
||||
|
||||
override fun isPromotionActiveOnStories(): Boolean {
|
||||
val isActiveStatus = promotion.getPromotionInfo().newCard.status == PromotionInfoResponse.Status.ACTIVE
|
||||
return isPromotionActive() && isActiveStatus
|
||||
return if (isPromotionActive()) {
|
||||
promotion.getPromotionInfo().newCard.status == PromotionInfoResponse.Status.ACTIVE
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
override fun isPromotionActiveOnMain(): Boolean {
|
||||
if (dependencyProvider.getCardTypeResolver()?.isTangemWallet() != true) return false
|
||||
val cardTypesResolver = dependencyProvider.getCardTypeResolver() ?: return false
|
||||
|
||||
val isActiveStatus = promotion.getPromotionInfo().oldCard.status == PromotionInfoResponse.Status.ACTIVE
|
||||
return isPromotionActive() && isActiveStatus
|
||||
return when {
|
||||
!isPromotionActive() -> false
|
||||
!cardTypesResolver.isTangemWallet() -> false
|
||||
else -> promotion.getPromotionInfo().oldCard.status == PromotionInfoResponse.Status.ACTIVE
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun initPromotionInfo() {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.tangem.feature.learn2earn.domain.di
|
|||
import android.content.Context
|
||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||
import com.tangem.core.featuretoggle.manager.FeatureTogglesManager
|
||||
import com.tangem.datasource.demo.DemoModeDatasource
|
||||
import com.tangem.feature.learn2earn.data.api.Learn2earnRepository
|
||||
import com.tangem.feature.learn2earn.data.toggles.DefaultLearn2earnFeatureToggleManager
|
||||
import com.tangem.feature.learn2earn.data.toggles.Learn2earnFeatureToggleManager
|
||||
|
|
@ -45,6 +46,7 @@ internal class Learn2earnDomainModule {
|
|||
userWalletManager: UserWalletManager,
|
||||
analyticsEventHandler: AnalyticsEventHandler,
|
||||
derivationManager: DerivationManager,
|
||||
demoModeDatasource: DemoModeDatasource,
|
||||
): Learn2earnInteractor {
|
||||
return DefaultLearn2earnInteractor(
|
||||
featureToggleManager = featureToggleManager,
|
||||
|
|
@ -52,6 +54,7 @@ internal class Learn2earnDomainModule {
|
|||
userWalletManager = userWalletManager,
|
||||
derivationManager = derivationManager,
|
||||
analytics = analyticsEventHandler,
|
||||
demoModeDatasource = demoModeDatasource,
|
||||
dependencyProvider = dependencyProvider,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue