From 717ab01782a9bef15e0348aaeec944f94c9c51e8 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 16 May 2025 12:27:04 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/tap/routing/utils/DeepLinkFactory.kt | 9 +++++++++ .../com/tangem/common/routing/DeepLinkRoute.kt | 12 ++++++++++++ .../onramp/deeplink/DefaultOnrampDeepLinkHandler.kt | 8 ++++---- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/routing/utils/DeepLinkFactory.kt b/app/src/main/java/com/tangem/tap/routing/utils/DeepLinkFactory.kt index ea0040261e..699c1e184c 100644 --- a/app/src/main/java/com/tangem/tap/routing/utils/DeepLinkFactory.kt +++ b/app/src/main/java/com/tangem/tap/routing/utils/DeepLinkFactory.kt @@ -4,7 +4,10 @@ import android.net.Uri import com.tangem.common.routing.AppRoute import com.tangem.common.routing.DeepLinkRoute import com.tangem.common.routing.DeepLinkScheme +import com.tangem.feature.referral.api.deeplink.ReferralDeepLinkHandler +import com.tangem.features.onramp.deeplink.BuyDeepLinkHandler import com.tangem.features.onramp.deeplink.OnrampDeepLinkHandler +import com.tangem.features.send.v2.api.deeplink.SellDeepLinkHandler import com.tangem.utils.coroutines.JobHolder import com.tangem.utils.coroutines.saveIn import dagger.hilt.android.scopes.ActivityScoped @@ -19,6 +22,9 @@ import javax.inject.Inject @ActivityScoped internal class DeepLinkFactory @Inject constructor( private val onrampDeepLink: OnrampDeepLinkHandler.Factory, + private val sellDeepLink: SellDeepLinkHandler.Factory, + private val buyDeepLink: BuyDeepLinkHandler.Factory, + private val referralDeepLink: ReferralDeepLinkHandler.Factory, ) { private val permittedAppRoute = MutableStateFlow(false) @@ -82,6 +88,9 @@ internal class DeepLinkFactory @Inject constructor( val params = getParams(deeplinkUri) when (deeplinkUri.host) { DeepLinkRoute.Onramp.host -> onrampDeepLink.create(coroutineScope, params) + DeepLinkRoute.Sell.host -> sellDeepLink.create(coroutineScope, params) + DeepLinkRoute.Buy.host -> buyDeepLink.create(coroutineScope) + DeepLinkRoute.Referral.host -> referralDeepLink.create() else -> { Timber.i( """ diff --git a/common/routing/src/main/kotlin/com/tangem/common/routing/DeepLinkRoute.kt b/common/routing/src/main/kotlin/com/tangem/common/routing/DeepLinkRoute.kt index 85bf976648..5eb9bafa87 100644 --- a/common/routing/src/main/kotlin/com/tangem/common/routing/DeepLinkRoute.kt +++ b/common/routing/src/main/kotlin/com/tangem/common/routing/DeepLinkRoute.kt @@ -7,6 +7,18 @@ sealed class DeepLinkRoute { data object Onramp : DeepLinkRoute() { override val host: String = "onramp" } + + data object Sell : DeepLinkRoute() { + override val host: String = "redirect_sell" + } + + data object Buy : DeepLinkRoute() { + override val host: String = "redirect" + } + + data object Referral : DeepLinkRoute() { + override val host: String = "referral" + } } enum class DeepLinkScheme(val scheme: String) { diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/deeplink/DefaultOnrampDeepLinkHandler.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/deeplink/DefaultOnrampDeepLinkHandler.kt index c1ef286e30..47b4d78b20 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/deeplink/DefaultOnrampDeepLinkHandler.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/deeplink/DefaultOnrampDeepLinkHandler.kt @@ -10,11 +10,11 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import timber.log.Timber -class DefaultOnrampDeepLinkHandler @AssistedInject constructor( - appRouter: AppRouter, - private val onrampSuccessScreenTrigger: OnrampSuccessScreenTrigger, - @Assisted private val scope: CoroutineScope, +internal class DefaultOnrampDeepLinkHandler @AssistedInject constructor( + @Assisted scope: CoroutineScope, @Assisted params: Map, + appRouter: AppRouter, + onrampSuccessScreenTrigger: OnrampSuccessScreenTrigger, ) : OnrampDeepLinkHandler { init {