diff --git a/app/src/main/java/com/tangem/tap/ApplicationEntryPoint.kt b/app/src/main/java/com/tangem/tap/ApplicationEntryPoint.kt index e9acc1599b..e14a41915f 100644 --- a/app/src/main/java/com/tangem/tap/ApplicationEntryPoint.kt +++ b/app/src/main/java/com/tangem/tap/ApplicationEntryPoint.kt @@ -31,8 +31,8 @@ import com.tangem.domain.wallets.legacy.UserWalletsListManager import com.tangem.domain.wallets.repository.WalletsRepository import com.tangem.domain.wallets.usecase.GenerateWalletNameUseCase import com.tangem.tap.common.log.TangemAppLoggerInitializer +import com.tangem.tap.domain.scanCard.CardScanningFeatureToggles import com.tangem.tap.domain.walletconnect2.domain.WalletConnectSessionsRepository -import com.tangem.tap.features.customtoken.api.featuretoggles.CustomTokenFeatureToggles import com.tangem.tap.features.home.featuretoggles.HomeFeatureToggles import com.tangem.tap.proxy.AppStateHolder import dagger.hilt.EntryPoint @@ -55,7 +55,7 @@ interface ApplicationEntryPoint { fun getNetworkConnectionManager(): NetworkConnectionManager - fun getCustomTokenFeatureToggles(): CustomTokenFeatureToggles + fun getCardScanningFeatureToggles(): CardScanningFeatureToggles fun getWalletConnect2Repository(): WalletConnect2Repository diff --git a/app/src/main/java/com/tangem/tap/TangemApplication.kt b/app/src/main/java/com/tangem/tap/TangemApplication.kt index ea096779fa..47f5d7142c 100644 --- a/app/src/main/java/com/tangem/tap/TangemApplication.kt +++ b/app/src/main/java/com/tangem/tap/TangemApplication.kt @@ -49,9 +49,9 @@ import com.tangem.tap.common.log.TangemAppLoggerInitializer import com.tangem.tap.common.redux.AppState import com.tangem.tap.common.redux.appReducer import com.tangem.tap.common.redux.global.GlobalAction +import com.tangem.tap.domain.scanCard.CardScanningFeatureToggles import com.tangem.tap.domain.tasks.product.DerivationsFinder import com.tangem.tap.domain.walletconnect2.domain.WalletConnectSessionsRepository -import com.tangem.tap.features.customtoken.api.featuretoggles.CustomTokenFeatureToggles import com.tangem.tap.features.home.featuretoggles.HomeFeatureToggles import com.tangem.tap.proxy.AppStateHolder import com.tangem.tap.proxy.redux.DaggerGraphState @@ -89,8 +89,8 @@ abstract class TangemApplication : Application(), ImageLoaderFactory { private val networkConnectionManager: NetworkConnectionManager get() = entryPoint.getNetworkConnectionManager() - private val customTokenFeatureToggles: CustomTokenFeatureToggles - get() = entryPoint.getCustomTokenFeatureToggles() + private val cardScanningFeatureToggles: CardScanningFeatureToggles + get() = entryPoint.getCardScanningFeatureToggles() private val walletConnect2Repository: WalletConnect2Repository get() = entryPoint.getWalletConnect2Repository() @@ -233,7 +233,7 @@ abstract class TangemApplication : Application(), ImageLoaderFactory { state = AppState( daggerGraphState = DaggerGraphState( networkConnectionManager = networkConnectionManager, - customTokenFeatureToggles = customTokenFeatureToggles, + cardScanningFeatureToggles = cardScanningFeatureToggles, walletConnectRepository = walletConnect2Repository, walletConnectSessionsRepository = walletConnectSessionsRepository, scanCardProcessor = scanCardProcessor, diff --git a/app/src/main/java/com/tangem/tap/di/domain/CardLegacyDomainModule.kt b/app/src/main/java/com/tangem/tap/di/domain/CardLegacyDomainModule.kt index 9654238c85..12b071ad16 100644 --- a/app/src/main/java/com/tangem/tap/di/domain/CardLegacyDomainModule.kt +++ b/app/src/main/java/com/tangem/tap/di/domain/CardLegacyDomainModule.kt @@ -1,8 +1,10 @@ package com.tangem.tap.di.domain -import com.tangem.domain.card.* +import com.tangem.core.featuretoggle.manager.FeatureTogglesManager +import com.tangem.domain.card.ScanCardProcessor import com.tangem.domain.wallets.legacy.UserWalletsListManager import com.tangem.domain.wallets.usecase.GenerateWalletNameUseCase +import com.tangem.tap.domain.scanCard.CardScanningFeatureToggles import com.tangem.tap.domain.scanCard.DefaultScanCardProcessor import dagger.Module import dagger.Provides @@ -14,6 +16,12 @@ import javax.inject.Singleton @InstallIn(SingletonComponent::class) internal object CardLegacyDomainModule { + @Provides + @Singleton + fun provideCardScanningFeatureToggles(featureTogglesManager: FeatureTogglesManager): CardScanningFeatureToggles { + return CardScanningFeatureToggles(featureTogglesManager) + } + @Provides @Singleton fun provideScanCardProcessor(): ScanCardProcessor = DefaultScanCardProcessor() diff --git a/app/src/main/java/com/tangem/tap/domain/scanCard/CardScanningFeatureToggles.kt b/app/src/main/java/com/tangem/tap/domain/scanCard/CardScanningFeatureToggles.kt new file mode 100644 index 0000000000..904cfe1673 --- /dev/null +++ b/app/src/main/java/com/tangem/tap/domain/scanCard/CardScanningFeatureToggles.kt @@ -0,0 +1,16 @@ +package com.tangem.tap.domain.scanCard + +import com.tangem.core.featuretoggle.manager.FeatureTogglesManager + +/** + * Add custom token feature toggles + * +[REDACTED_AUTHOR] + */ +class CardScanningFeatureToggles internal constructor( + private val featureTogglesManager: FeatureTogglesManager, +) { + + val isNewCardScanningEnabled: Boolean + get() = featureTogglesManager.isFeatureEnabled(name = "NEW_CARD_SCANNING_ENABLED") +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/scanCard/DefaultScanCardProcessor.kt b/app/src/main/java/com/tangem/tap/domain/scanCard/DefaultScanCardProcessor.kt index d4b5ac160c..b8515ee5b9 100644 --- a/app/src/main/java/com/tangem/tap/domain/scanCard/DefaultScanCardProcessor.kt +++ b/app/src/main/java/com/tangem/tap/domain/scanCard/DefaultScanCardProcessor.kt @@ -12,7 +12,7 @@ import com.tangem.tap.store // TODO: Remove this object after feature toggle was removed and use ScanCardUseCase instead internal class DefaultScanCardProcessor : ScanCardProcessor { private val isNewCardScanningEnabled: Boolean - get() = store.inject(DaggerGraphState::customTokenFeatureToggles).isNewCardScanningEnabled + get() = store.inject(DaggerGraphState::cardScanningFeatureToggles).isNewCardScanningEnabled override suspend fun scan( cardId: String?, diff --git a/app/src/main/java/com/tangem/tap/features/customtoken/api/featuretoggles/CustomTokenFeatureToggles.kt b/app/src/main/java/com/tangem/tap/features/customtoken/api/featuretoggles/CustomTokenFeatureToggles.kt deleted file mode 100644 index a6894e04b1..0000000000 --- a/app/src/main/java/com/tangem/tap/features/customtoken/api/featuretoggles/CustomTokenFeatureToggles.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.tangem.tap.features.customtoken.api.featuretoggles - -/** - * Add custom token feature toggles - * -[REDACTED_AUTHOR] - */ -interface CustomTokenFeatureToggles { - - val isNewCardScanningEnabled: Boolean -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/customtoken/impl/di/CustomTokenFeatureTogglesModule.kt b/app/src/main/java/com/tangem/tap/features/customtoken/impl/di/CustomTokenFeatureTogglesModule.kt deleted file mode 100644 index 5648aa592d..0000000000 --- a/app/src/main/java/com/tangem/tap/features/customtoken/impl/di/CustomTokenFeatureTogglesModule.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.tangem.tap.features.customtoken.impl.di - -import com.tangem.core.featuretoggle.manager.FeatureTogglesManager -import com.tangem.tap.features.customtoken.api.featuretoggles.CustomTokenFeatureToggles -import com.tangem.tap.features.customtoken.impl.featuretoggles.DefaultCustomTokenFeatureToggles -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -/** -[REDACTED_AUTHOR] - */ -@Module -@InstallIn(SingletonComponent::class) -internal object CustomTokenFeatureTogglesModule { - - @Provides - @Singleton - fun providesCustomTokenFeatureToggles(featureTogglesManager: FeatureTogglesManager): CustomTokenFeatureToggles { - return DefaultCustomTokenFeatureToggles(featureTogglesManager) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/customtoken/impl/featuretoggles/DefaultCustomTokenFeatureToggles.kt b/app/src/main/java/com/tangem/tap/features/customtoken/impl/featuretoggles/DefaultCustomTokenFeatureToggles.kt deleted file mode 100644 index cd06665b00..0000000000 --- a/app/src/main/java/com/tangem/tap/features/customtoken/impl/featuretoggles/DefaultCustomTokenFeatureToggles.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.tangem.tap.features.customtoken.impl.featuretoggles - -import com.tangem.core.featuretoggle.manager.FeatureTogglesManager -import com.tangem.tap.features.customtoken.api.featuretoggles.CustomTokenFeatureToggles - -/** - * Default implementation of CustomToken feature toggles - * - * @property featureTogglesManager manager for getting information about the availability of feature toggles - * -[REDACTED_AUTHOR] - */ -internal class DefaultCustomTokenFeatureToggles( - private val featureTogglesManager: FeatureTogglesManager, -) : CustomTokenFeatureToggles { - - override val isNewCardScanningEnabled: Boolean - get() = featureTogglesManager.isFeatureEnabled(name = "NEW_CARD_SCANNING_ENABLED") -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphState.kt b/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphState.kt index a9dfc44797..674924336e 100644 --- a/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphState.kt +++ b/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphState.kt @@ -35,10 +35,10 @@ import com.tangem.features.staking.api.navigation.StakingRouter import com.tangem.features.tester.api.TesterRouter import com.tangem.features.tokendetails.navigation.TokenDetailsRouter import com.tangem.features.wallet.navigation.WalletRouter +import com.tangem.tap.domain.scanCard.CardScanningFeatureToggles import com.tangem.tap.domain.walletconnect2.domain.LegacyWalletConnectRepository import com.tangem.tap.domain.walletconnect2.domain.WalletConnectInteractor import com.tangem.tap.domain.walletconnect2.domain.WalletConnectSessionsRepository -import com.tangem.tap.features.customtoken.api.featuretoggles.CustomTokenFeatureToggles import com.tangem.tap.features.home.featuretoggles.HomeFeatureToggles import com.tangem.tap.proxy.AppStateHolder import org.rekotlin.StateType @@ -46,7 +46,7 @@ import org.rekotlin.StateType data class DaggerGraphState( val testerRouter: TesterRouter? = null, val networkConnectionManager: NetworkConnectionManager? = null, - val customTokenFeatureToggles: CustomTokenFeatureToggles? = null, + val cardScanningFeatureToggles: CardScanningFeatureToggles? = null, val scanCardUseCase: ScanCardUseCase? = null, val walletRouter: WalletRouter? = null, val walletConnectRepository: LegacyWalletConnectRepository? = null,