diff --git a/app/src/main/java/com/tangem/tap/common/analytics/appsflyer/AppsFlyerReferralParamsHandler.kt b/app/src/main/java/com/tangem/tap/common/analytics/appsflyer/AppsFlyerReferralParamsHandler.kt index 8886b70405..25980d4028 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/appsflyer/AppsFlyerReferralParamsHandler.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/appsflyer/AppsFlyerReferralParamsHandler.kt @@ -41,6 +41,7 @@ class AppsFlyerReferralParamsHandler @Inject constructor( } private fun handle(deepLinkValue: String?, deepLinkSub1: String?, deepLinkSub2: String?) { + TangemLogger.i("AppsFlyer deeplink received: value=$deepLinkValue") when (deepLinkValue) { REFERRAL_DEEP_LINK_VALUE -> handleReferral(deepLinkSub1, deepLinkSub2) TANGEM_PAY_HOT_WALLET_ONBOARDING_DEEP_LINK_VALUE -> handleTangemPayHotWalletOnboarding(deepLinkValue) @@ -51,6 +52,7 @@ class AppsFlyerReferralParamsHandler @Inject constructor( private fun handleTangemPayHotWalletOnboarding(deepLinkValue: String) { coroutineScope.launch { appsFlyerStore.storeDeeplink(AppsFlyerDeeplinkSource.TangemPayHotWalletOnboarding, deepLinkValue) + TangemLogger.i("[TangemPay][HWO] Deep link stored") } } diff --git a/app/src/main/java/com/tangem/tap/routing/component/impl/DefaultRoutingComponent.kt b/app/src/main/java/com/tangem/tap/routing/component/impl/DefaultRoutingComponent.kt index f59be94532..58d3c9e7fb 100644 --- a/app/src/main/java/com/tangem/tap/routing/component/impl/DefaultRoutingComponent.kt +++ b/app/src/main/java/com/tangem/tap/routing/component/impl/DefaultRoutingComponent.kt @@ -206,13 +206,21 @@ internal class DefaultRoutingComponent @AssistedInject constructor( } private suspend fun navigateForEmptyWallets(): AppRoute { - if (featureTogglesManager.isFeatureEnabled(FeatureToggles.AND_15101_TANGEM_PAY_HOT_WALLET_ONBOARDING)) { + val isHotWalletOnboardingEnabled = featureTogglesManager.isFeatureEnabled( + FeatureToggles.AND_15101_TANGEM_PAY_HOT_WALLET_ONBOARDING, + ) + TangemLogger.i("[TangemPay][HWO] Feature toggle enabled=$isHotWalletOnboardingEnabled") + + if (isHotWalletOnboardingEnabled) { val tangemPayHotWalletOnboardingDeepLink = appsFlyerStore.getDeeplink( AppsFlyerDeeplinkSource.TangemPayHotWalletOnboarding, ) + TangemLogger.i("[TangemPay][HWO] Deep link present=${tangemPayHotWalletOnboardingDeepLink != null}") if (tangemPayHotWalletOnboardingDeepLink != null) { val hotWalletRoute = AppRoute.TangemPayHotWalletOnboarding val shouldShowTos = !cardRepository.isTangemTOSAccepted() + val route = if (shouldShowTos) "Disclaimer" else "HotWalletOnboarding" + TangemLogger.i("[TangemPay][HWO] TOS accepted=${!shouldShowTos}, navigating to $route") return if (shouldShowTos) { AppRoute.Disclaimer(isTosAccepted = false, nextRoute = hotWalletRoute) } else { diff --git a/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/hotwallet/TangemPayHotWalletOnboardingModel.kt b/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/hotwallet/TangemPayHotWalletOnboardingModel.kt index 0cfe1a2854..ac8975a3e1 100644 --- a/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/hotwallet/TangemPayHotWalletOnboardingModel.kt +++ b/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/hotwallet/TangemPayHotWalletOnboardingModel.kt @@ -22,6 +22,7 @@ import com.tangem.hot.sdk.model.HotAuth import com.tangem.hot.sdk.model.MnemonicType import com.tangem.utils.coroutines.CoroutineDispatcherProvider import com.tangem.utils.coroutines.runSuspendCatching +import com.tangem.utils.logging.TangemLogger import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.update @@ -54,9 +55,12 @@ internal class TangemPayHotWalletOnboardingModel @Inject constructor( } private fun onGetCardClick() { + TangemLogger.i("[TangemPay][HWO]onGetCardClick") uiState.update { it.copy(isLoading = true) } - if (!isHotWalletCreationSupported()) { + val isSupported = isHotWalletCreationSupported() + TangemLogger.i("[TangemPay][HWO]Hot wallet creation supported=$isSupported") + if (!isSupported) { uiMessageSender.send( Dialogs.hotWalletCreationNotSupportedDialog(isHotWalletCreationSupported.getLeastVersionName()), ) @@ -66,12 +70,14 @@ internal class TangemPayHotWalletOnboardingModel @Inject constructor( } modelScope.launch { + TangemLogger.i("[TangemPay][HWO]Creating hot wallet") runSuspendCatching { val userWallet = createHotWalletUseCase.invoke( auth = HotAuth.NoAuth, mnemonicType = MnemonicType.Words12, ).getOrElse { throw it } + TangemLogger.i("[TangemPay][HWO]Hot wallet created") clearAppsFlyerDeeplinkUseCase(AppsFlyerDeeplinkSource.TangemPayHotWalletOnboarding) router.replaceCurrent( @@ -89,6 +95,7 @@ internal class TangemPayHotWalletOnboardingModel @Inject constructor( ), ) }.onFailure { + TangemLogger.e("[TangemPay][HWO] Failed to create hot wallet") uiState.update { state -> state.copy(isLoading = false) } uiMessageSender.send( DialogMessage(