diff --git a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json index 0d79f7bdf7..fbcfc74ef6 100644 --- a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json +++ b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json @@ -67,5 +67,9 @@ { "name": "NEW_PROMO_BANNERS_ENABLED", "version": "undefined" + }, + { + "name": "VIRTUAL_ACCOUNTS_ENABLED", + "version": "undefined" } ] diff --git a/features/virtual-accounts/onboarding/api/src/main/java/com/tangem/features/virtualaccount/onboarding/api/VirtualAccountsFeatureToggles.kt b/features/virtual-accounts/onboarding/api/src/main/java/com/tangem/features/virtualaccount/onboarding/api/VirtualAccountsFeatureToggles.kt new file mode 100644 index 0000000000..495785d40d --- /dev/null +++ b/features/virtual-accounts/onboarding/api/src/main/java/com/tangem/features/virtualaccount/onboarding/api/VirtualAccountsFeatureToggles.kt @@ -0,0 +1,5 @@ +package com.tangem.features.virtualaccount.onboarding.api + +interface VirtualAccountsFeatureToggles { + val isVirtualAccountsEnabled: Boolean +} \ No newline at end of file diff --git a/features/virtual-accounts/onboarding/impl/build.gradle.kts b/features/virtual-accounts/onboarding/impl/build.gradle.kts index 76108a7e60..b187abb29a 100644 --- a/features/virtual-accounts/onboarding/impl/build.gradle.kts +++ b/features/virtual-accounts/onboarding/impl/build.gradle.kts @@ -1,6 +1,8 @@ plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) + alias(deps.plugins.kotlin.kapt) + alias(deps.plugins.hilt.android) id("configuration") } @@ -9,4 +11,20 @@ android { } dependencies { + /** Api */ + implementation(projects.features.virtualAccounts.onboarding.api) + + /** Core modules */ + implementation(projects.core.configToggles) + + /** Compose */ + implementation(deps.compose.foundation) + implementation(deps.compose.material3) + implementation(deps.compose.ui) + implementation(deps.compose.ui.tooling) + implementation(deps.decompose.ext.compose) + + /** DI */ + implementation(deps.hilt.android) + kapt(deps.hilt.kapt) } \ No newline at end of file diff --git a/features/virtual-accounts/onboarding/impl/src/main/java/com/tangem/features/virtualaccount/onboarding/impl/DefaultVirtualAccountsFeatureToggles.kt b/features/virtual-accounts/onboarding/impl/src/main/java/com/tangem/features/virtualaccount/onboarding/impl/DefaultVirtualAccountsFeatureToggles.kt new file mode 100644 index 0000000000..9a950c4927 --- /dev/null +++ b/features/virtual-accounts/onboarding/impl/src/main/java/com/tangem/features/virtualaccount/onboarding/impl/DefaultVirtualAccountsFeatureToggles.kt @@ -0,0 +1,14 @@ +package com.tangem.features.virtualaccount.onboarding.impl + +import com.tangem.core.configtoggle.feature.FeatureTogglesManager +import com.tangem.features.virtualaccount.onboarding.api.VirtualAccountsFeatureToggles +import javax.inject.Inject + +internal class DefaultVirtualAccountsFeatureToggles +@Inject constructor( + private val featureTogglesManager: FeatureTogglesManager, +) : VirtualAccountsFeatureToggles { + + override val isVirtualAccountsEnabled: Boolean + get() = featureTogglesManager.isFeatureEnabled("VIRTUAL_ACCOUNTS_ENABLED") +} \ No newline at end of file diff --git a/features/virtual-accounts/onboarding/impl/src/main/java/com/tangem/features/virtualaccount/onboarding/impl/di/VirtualAccountsOnboardingModule.kt b/features/virtual-accounts/onboarding/impl/src/main/java/com/tangem/features/virtualaccount/onboarding/impl/di/VirtualAccountsOnboardingModule.kt new file mode 100644 index 0000000000..18c5808c74 --- /dev/null +++ b/features/virtual-accounts/onboarding/impl/src/main/java/com/tangem/features/virtualaccount/onboarding/impl/di/VirtualAccountsOnboardingModule.kt @@ -0,0 +1,23 @@ +package com.tangem.features.virtualaccount.onboarding.impl.di + +import com.tangem.core.configtoggle.feature.FeatureTogglesManager +import com.tangem.features.virtualaccount.onboarding.api.VirtualAccountsFeatureToggles +import com.tangem.features.virtualaccount.onboarding.impl.DefaultVirtualAccountsFeatureToggles +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +internal object VirtualAccountsOnboardingModule { + + @Provides + @Singleton + fun provideVirtualAccountsFeatureToggles( + featureTogglesManager: FeatureTogglesManager, + ): VirtualAccountsFeatureToggles { + return DefaultVirtualAccountsFeatureToggles(featureTogglesManager) + } +} \ No newline at end of file