From 679a54bc0d5e94d39ca7b51ecc6af0f2db413879 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 28 Oct 2024 17:46:06 +0300 Subject: [PATCH] Updated on 2026-08-14 --- app/build.gradle.kts | 2 ++ features/details/api/build.gradle.kts | 3 ++ features/disclaimer/api/build.gradle.kts | 3 ++ .../onboarding/legacy/di/FeatureModule.kt | 18 ------------ .../OnboardingLegacyFeatureToggles.kt | 5 ---- .../api}/.gitignore | 0 features/onboarding-v2/api/build.gradle.kts | 22 +++++++++++++++ .../v2/OnboardingV2FeatureToggles.kt | 5 ++++ .../v2/entry/OnboardingEntryComponent.kt | 13 +++++++++ features/onboarding-v2/impl/.gitignore | 1 + .../impl}/build.gradle.kts | 28 ++++++------------- .../v2/DefaultOnboardingV2FeatureToggles.kt} | 6 ++-- .../onboarding/v2/di/FeatureModule.kt | 18 ++++++++++++ features/onramp/api/build.gradle.kts | 3 ++ features/wallet-settings/api/build.gradle.kts | 3 ++ settings.gradle.kts | 3 +- 16 files changed, 87 insertions(+), 46 deletions(-) delete mode 100644 features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/di/FeatureModule.kt delete mode 100644 features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/featuretoggle/OnboardingLegacyFeatureToggles.kt rename features/{onboarding-legacy => onboarding-v2/api}/.gitignore (100%) create mode 100644 features/onboarding-v2/api/build.gradle.kts create mode 100644 features/onboarding-v2/api/src/main/kotlin/com/tangem/features/onboarding/v2/OnboardingV2FeatureToggles.kt create mode 100644 features/onboarding-v2/api/src/main/kotlin/com/tangem/features/onboarding/v2/entry/OnboardingEntryComponent.kt create mode 100644 features/onboarding-v2/impl/.gitignore rename features/{onboarding-legacy => onboarding-v2/impl}/build.gradle.kts (60%) rename features/{onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/featuretoggle/DefaultOnboardingLegacyFeatureToggles.kt => onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/DefaultOnboardingV2FeatureToggles.kt} (64%) create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/di/FeatureModule.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b42a58fe8e..5d371ecb8e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -148,6 +148,8 @@ dependencies { implementation(projects.features.markets.impl) implementation(projects.features.onramp.api) implementation(projects.features.onramp.impl) + implementation(projects.features.onboardingV2.api) + implementation(projects.features.onboardingV2.impl) /** AndroidX libraries */ implementation(deps.androidx.core.ktx) diff --git a/features/details/api/build.gradle.kts b/features/details/api/build.gradle.kts index ce267fe5d1..72035f72bb 100644 --- a/features/details/api/build.gradle.kts +++ b/features/details/api/build.gradle.kts @@ -16,4 +16,7 @@ dependencies { /* Project - Core */ implementation(projects.core.decompose) implementation(projects.core.ui) + + /* Compose */ + implementation(deps.compose.runtime) } \ No newline at end of file diff --git a/features/disclaimer/api/build.gradle.kts b/features/disclaimer/api/build.gradle.kts index 7b97fa25c1..d6fd71c5e8 100644 --- a/features/disclaimer/api/build.gradle.kts +++ b/features/disclaimer/api/build.gradle.kts @@ -13,4 +13,7 @@ dependencies { /* Project - Core */ implementation(projects.core.decompose) implementation(projects.core.ui) + + /* Compose */ + implementation(deps.compose.runtime) } \ No newline at end of file diff --git a/features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/di/FeatureModule.kt b/features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/di/FeatureModule.kt deleted file mode 100644 index 58798b2583..0000000000 --- a/features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/di/FeatureModule.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.tangem.feature.onboarding.legacy.di - -import com.tangem.feature.onboarding.legacy.featuretoggle.DefaultOnboardingLegacyFeatureToggles -import com.tangem.feature.onboarding.legacy.featuretoggle.OnboardingLegacyFeatureToggles -import dagger.Binds -import dagger.Module -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -internal interface FeatureModule { - - @Singleton - @Binds - fun provideFeatureToggles(featureToggles: DefaultOnboardingLegacyFeatureToggles): OnboardingLegacyFeatureToggles -} \ No newline at end of file diff --git a/features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/featuretoggle/OnboardingLegacyFeatureToggles.kt b/features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/featuretoggle/OnboardingLegacyFeatureToggles.kt deleted file mode 100644 index aa692ec61e..0000000000 --- a/features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/featuretoggle/OnboardingLegacyFeatureToggles.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.tangem.feature.onboarding.legacy.featuretoggle - -interface OnboardingLegacyFeatureToggles { - val isRewrittenOnboardingCodeInUse: Boolean -} \ No newline at end of file diff --git a/features/onboarding-legacy/.gitignore b/features/onboarding-v2/api/.gitignore similarity index 100% rename from features/onboarding-legacy/.gitignore rename to features/onboarding-v2/api/.gitignore diff --git a/features/onboarding-v2/api/build.gradle.kts b/features/onboarding-v2/api/build.gradle.kts new file mode 100644 index 0000000000..d6e9adffe8 --- /dev/null +++ b/features/onboarding-v2/api/build.gradle.kts @@ -0,0 +1,22 @@ +plugins { + alias(deps.plugins.android.library) + alias(deps.plugins.kotlin.android) + id("configuration") +} + +android { + namespace = "com.tangem.features.onboarding.v2.api" +} + +dependencies { + + /* Project - Domain */ + implementation(projects.domain.wallets.models) + + /* Project - Core */ + implementation(projects.core.decompose) + implementation(projects.core.ui) + + /* Compose */ + implementation(deps.compose.runtime) +} \ No newline at end of file diff --git a/features/onboarding-v2/api/src/main/kotlin/com/tangem/features/onboarding/v2/OnboardingV2FeatureToggles.kt b/features/onboarding-v2/api/src/main/kotlin/com/tangem/features/onboarding/v2/OnboardingV2FeatureToggles.kt new file mode 100644 index 0000000000..af4b3152e0 --- /dev/null +++ b/features/onboarding-v2/api/src/main/kotlin/com/tangem/features/onboarding/v2/OnboardingV2FeatureToggles.kt @@ -0,0 +1,5 @@ +package com.tangem.features.onboarding.v2 + +interface OnboardingV2FeatureToggles { + val isRewrittenOnboardingCodeInUse: Boolean +} \ No newline at end of file diff --git a/features/onboarding-v2/api/src/main/kotlin/com/tangem/features/onboarding/v2/entry/OnboardingEntryComponent.kt b/features/onboarding-v2/api/src/main/kotlin/com/tangem/features/onboarding/v2/entry/OnboardingEntryComponent.kt new file mode 100644 index 0000000000..93b12a1d21 --- /dev/null +++ b/features/onboarding-v2/api/src/main/kotlin/com/tangem/features/onboarding/v2/entry/OnboardingEntryComponent.kt @@ -0,0 +1,13 @@ +package com.tangem.features.onboarding.v2.entry + +import com.tangem.core.decompose.factory.ComponentFactory +import com.tangem.core.ui.decompose.ComposableContentComponent + +interface OnboardingEntryComponent : ComposableContentComponent { + + data class Params( + val todo: String, + ) + + interface Factory : ComponentFactory +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/.gitignore b/features/onboarding-v2/impl/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/features/onboarding-v2/impl/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/features/onboarding-legacy/build.gradle.kts b/features/onboarding-v2/impl/build.gradle.kts similarity index 60% rename from features/onboarding-legacy/build.gradle.kts rename to features/onboarding-v2/impl/build.gradle.kts index d82dd86a7d..e0028b37e7 100644 --- a/features/onboarding-legacy/build.gradle.kts +++ b/features/onboarding-v2/impl/build.gradle.kts @@ -8,21 +8,20 @@ plugins { } android { - namespace = "com.tangem.feature.onboarding.legacy" + namespace = "com.tangem.features.onboarding.v2.impl" } dependencies { + /** Api */ + implementation(projects.features.onboardingV2.api) + /** Core modules */ - implementation(project(":common")) - implementation(project(":domain:models")) - implementation(project(":core:featuretoggles")) - implementation(project(":core:datasource")) - implementation(project(":core:analytics")) + implementation(projects.core.featuretoggles) + implementation(projects.core.analytics) implementation(projects.core.analytics.models) - implementation(project(":core:utils")) - implementation(project(":core:ui")) - implementation(project(":core:res")) - implementation(project(":data:common")) + implementation(projects.core.utils) + implementation(projects.core.ui) + implementation(projects.core.res) /** Tangem libraries */ implementation(deps.tangem.card.core) @@ -33,27 +32,18 @@ dependencies { /** AndroidX libraries */ implementation(deps.androidx.core.ktx) implementation(deps.androidx.appCompat) - implementation(deps.androidx.fragment.ktx) implementation(deps.androidx.constraintLayout) - implementation(deps.androidx.activity.compose) implementation(deps.lifecycle.runtime.ktx) - implementation(deps.lifecycle.common.java8) - implementation(deps.lifecycle.viewModel.ktx) /** Compose libraries */ - implementation(deps.compose.material) implementation(deps.compose.material3) implementation(deps.compose.animation) implementation(deps.compose.foundation) implementation(deps.compose.ui) implementation(deps.compose.ui.tooling) implementation(deps.compose.coil) - implementation(deps.compose.shimmer) - - implementation(deps.tangem.card.core) /** Other libraries */ - implementation(deps.compose.shimmer) implementation(deps.kotlin.immutable.collections) implementation(deps.kotlin.serialization) implementation(deps.timber) diff --git a/features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/featuretoggle/DefaultOnboardingLegacyFeatureToggles.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/DefaultOnboardingV2FeatureToggles.kt similarity index 64% rename from features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/featuretoggle/DefaultOnboardingLegacyFeatureToggles.kt rename to features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/DefaultOnboardingV2FeatureToggles.kt index d46fdf1c92..4245576b3e 100644 --- a/features/onboarding-legacy/src/main/kotlin/com/tangem/feature/onboarding/legacy/featuretoggle/DefaultOnboardingLegacyFeatureToggles.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/DefaultOnboardingV2FeatureToggles.kt @@ -1,11 +1,11 @@ -package com.tangem.feature.onboarding.legacy.featuretoggle +package com.tangem.features.onboarding.v2 import com.tangem.core.featuretoggle.manager.FeatureTogglesManager import javax.inject.Inject -internal class DefaultOnboardingLegacyFeatureToggles @Inject constructor( +internal class DefaultOnboardingV2FeatureToggles @Inject constructor( private val featureTogglesManager: FeatureTogglesManager, -) : OnboardingLegacyFeatureToggles { +) : OnboardingV2FeatureToggles { override val isRewrittenOnboardingCodeInUse: Boolean get() = featureTogglesManager.isFeatureEnabled("ONBOARDING_CODE_REFACTORING_ENABLED") } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/di/FeatureModule.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/di/FeatureModule.kt new file mode 100644 index 0000000000..58f1c6cd79 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/di/FeatureModule.kt @@ -0,0 +1,18 @@ +package com.tangem.features.onboarding.v2.di + +import com.tangem.features.onboarding.v2.DefaultOnboardingV2FeatureToggles +import com.tangem.features.onboarding.v2.OnboardingV2FeatureToggles +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +internal interface FeatureModule { + + @Singleton + @Binds + fun provideFeatureToggles(featureToggles: DefaultOnboardingV2FeatureToggles): OnboardingV2FeatureToggles +} \ No newline at end of file diff --git a/features/onramp/api/build.gradle.kts b/features/onramp/api/build.gradle.kts index dfd87a2e88..a241d32468 100644 --- a/features/onramp/api/build.gradle.kts +++ b/features/onramp/api/build.gradle.kts @@ -13,4 +13,7 @@ dependencies { /* Project - Core */ implementation(projects.core.decompose) implementation(projects.core.ui) + + /* Compose */ + implementation(deps.compose.runtime) } \ No newline at end of file diff --git a/features/wallet-settings/api/build.gradle.kts b/features/wallet-settings/api/build.gradle.kts index 7c48ae5a59..aee60dc9be 100644 --- a/features/wallet-settings/api/build.gradle.kts +++ b/features/wallet-settings/api/build.gradle.kts @@ -16,4 +16,7 @@ dependencies { /* Project - Core */ implementation(projects.core.decompose) implementation(projects.core.ui) + + /* Compose */ + implementation(deps.compose.runtime) } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 2876b342f6..251a4e76a0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -151,7 +151,8 @@ include(":libs:visa") // region Feature modules include(":features:onboarding") -include(":features:onboarding-legacy") +include(":features:onboarding-v2:api") +include(":features:onboarding-v2:impl") include(":features:referral:data") include(":features:referral:domain")