diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 60e77f7ace..ef63e16db7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -279,6 +279,17 @@ android:host="onboard-visa" android:scheme="tangem" /> + + + + + + + + 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 45a9e27528..097b57b518 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 @@ -102,6 +102,7 @@ internal class DeepLinkFactory @Inject constructor( private fun launchDeepLink(deeplinkUri: Uri, coroutineScope: CoroutineScope, isFromOnNewIntent: Boolean) { when (deeplinkUri.scheme) { + DeepLinkScheme.Https.scheme -> handleHttpDeepLinks(deeplinkUri) DeepLinkScheme.Tangem.scheme -> handleTangemDeepLinks(deeplinkUri, coroutineScope, isFromOnNewIntent) DeepLinkScheme.WalletConnect.scheme -> walletConnectDeepLink.create(deeplinkUri) else -> { @@ -115,6 +116,13 @@ internal class DeepLinkFactory @Inject constructor( } } + private fun handleHttpDeepLinks(deeplinkUri: Uri) { + if (deeplinkUri.host == DeepLinkRoute.PayApp.host && deeplinkUri.path?.startsWith("/pay-app") == true) { + onboardVisaDeepLink.create(deeplinkUri) + return + } + } + @Suppress("CyclomaticComplexMethod") private fun handleTangemDeepLinks(deeplinkUri: Uri, coroutineScope: CoroutineScope, isFromOnNewIntent: Boolean) { val queryParams = getQueryParams(deeplinkUri) 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 9b5ba24bfa..d57eb5e7f0 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 @@ -63,9 +63,14 @@ sealed class DeepLinkRoute { data object OnboardVisa : DeepLinkRoute() { override val host: String = "onboard-visa" } + + data object PayApp : DeepLinkRoute() { + override val host: String = "tangem.com" + } } enum class DeepLinkScheme(val scheme: String) { Tangem(scheme = "tangem"), WalletConnect(scheme = "wc"), + Https(scheme = "https"), } \ No newline at end of file