Updated on 2026-08-14

This commit is contained in:
Tangem 2025-09-12 11:44:13 +04:00
parent 2d79953060
commit b9c541d416
8 changed files with 77 additions and 5 deletions

1
features/kyc/mock/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/build

View file

@ -0,0 +1,22 @@
plugins {
alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android)
alias(deps.plugins.kotlin.kapt)
alias(deps.plugins.hilt.android)
id("configuration")
}
android {
namespace = "com.tangem.features.kyc.impl"
}
dependencies {
/** Api */
implementation(projects.features.kyc.api)
implementation(projects.core.decompose)
/** DI */
implementation(deps.hilt.android)
kapt(deps.hilt.kapt)
}

View file

@ -0,0 +1,23 @@
package com.tangem.features.kyc
import com.tangem.core.decompose.context.AppComponentContext
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
/**
* Mocking it for release/external builds to exclude SumSub dependency
*/
class MockKycComponent @AssistedInject constructor(
@Assisted appComponentContext: AppComponentContext,
) : KycComponent, AppComponentContext by appComponentContext {
override fun launch() {
/* no op */
}
@AssistedFactory
interface Factory : KycComponent.Factory {
override fun create(appComponentContext: AppComponentContext): MockKycComponent
}
}

View file

@ -0,0 +1,16 @@
package com.tangem.features.kyc.di
import com.tangem.features.kyc.KycComponent
import com.tangem.features.kyc.MockKycComponent
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
@Module
@InstallIn(SingletonComponent::class)
internal interface FeatureModule {
@Binds
fun bindComponentFactory(impl: MockKycComponent.Factory): KycComponent.Factory
}

View file

@ -22,6 +22,7 @@ dependencies {
/** Features api */
implementation(projects.features.tangempay.onboarding.api)
implementation(projects.features.tangempay.details.api)
implementation(projects.features.kyc.api)
/** Compose */

View file

@ -3,6 +3,7 @@ package com.tangem.features.tangempay.deeplink
import android.net.Uri
import dagger.assisted.Assisted
import com.tangem.common.routing.AppRoute
import com.tangem.features.tangempay.TangemPayFeatureToggles
import com.tangem.common.routing.AppRouter
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
@ -10,10 +11,15 @@ import dagger.assisted.AssistedInject
internal class DefaultOnboardVisaDeepLinkHandler @AssistedInject constructor(
@Assisted uri: Uri,
appRouter: AppRouter,
tangemPayFeatureToggles: TangemPayFeatureToggles,
) : OnboardVisaDeepLinkHandler {
init {
appRouter.push(AppRoute.TangemPayOnboarding(uri.toString()))
if (tangemPayFeatureToggles.isTangemPayEnabled) {
appRouter.push(AppRoute.TangemPayOnboarding(uri.toString()))
} else {
appRouter.push(AppRoute.Home())
}
}
@AssistedFactory