From 801240525ed610ff25a2727e0f62c6e49ff0338b Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 25 May 2026 20:30:23 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../domain/tangempay/TangemPayAnalyticsEvents.kt | 10 ++++++++++ .../com/tangem/features/details/model/DetailsModel.kt | 1 + .../analytics/utils/WalletWarningsAnalyticsSender.kt | 3 ++- .../wallet/domain/GetWalletNotificationsFactory.kt | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/domain/visa/src/main/kotlin/com/tangem/domain/tangempay/TangemPayAnalyticsEvents.kt b/domain/visa/src/main/kotlin/com/tangem/domain/tangempay/TangemPayAnalyticsEvents.kt index 5b3bc6f428..18dadd605d 100644 --- a/domain/visa/src/main/kotlin/com/tangem/domain/tangempay/TangemPayAnalyticsEvents.kt +++ b/domain/visa/src/main/kotlin/com/tangem/domain/tangempay/TangemPayAnalyticsEvents.kt @@ -34,6 +34,16 @@ sealed class TangemPayAnalyticsEvents( event = "Visa Issuing Banner Displayed", ) + class PermanentBannerShowed : TangemPayAnalyticsEvents( + categoryName = "Visa Onboarding", + event = "Visa Permanent Banner Showed", + ) + + class PermanentButtonShowed : TangemPayAnalyticsEvents( + categoryName = "Visa Onboarding", + event = "Visa Permanent Button Showed", + ) + class MainScreenOpened : TangemPayAnalyticsEvents( categoryName = "Visa Screen", event = "Visa Main Screen Opened", diff --git a/features/details/impl/src/main/kotlin/com/tangem/features/details/model/DetailsModel.kt b/features/details/impl/src/main/kotlin/com/tangem/features/details/model/DetailsModel.kt index 7127fd8a3b..b359828377 100644 --- a/features/details/impl/src/main/kotlin/com/tangem/features/details/model/DetailsModel.kt +++ b/features/details/impl/src/main/kotlin/com/tangem/features/details/model/DetailsModel.kt @@ -264,6 +264,7 @@ internal class DetailsModel @Inject constructor( ) .isNotEmpty() if (isEligible) { + analyticsEventHandler.send(TangemPayAnalyticsEvents.PermanentButtonShowed()) items.update { itemsBuilder.addTangemPayItem(items = it, onClick = ::onTangemPayItemClicked) } } } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt index d46b074520..ccd6ee0c3d 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt @@ -4,6 +4,7 @@ import com.tangem.core.analytics.api.AnalyticsEventHandler import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AnalyticsParam import com.tangem.core.decompose.di.ModelScoped +import com.tangem.domain.tangempay.TangemPayAnalyticsEvents import com.tangem.feature.wallet.child.wallet.model.WalletActivationBannerType import com.tangem.feature.wallet.presentation.wallet.analytics.WalletScreenAnalyticsEvent.MainScreen import com.tangem.feature.wallet.presentation.wallet.analytics.WalletScreenAnalyticsEvent.MainScreen.* @@ -98,7 +99,7 @@ internal class WalletWarningsAnalyticsSender @Inject constructor( is WalletNotification.Warning.TangemPayUnreachable -> null is WalletNotification.UpgradeHotWalletPromo -> null is WalletNotification.AssetsDiscoveryCompleted -> null - is WalletNotification.CreateTangemPayAccount -> null + is WalletNotification.CreateTangemPayAccount -> TangemPayAnalyticsEvents.PermanentBannerShowed() } } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetWalletNotificationsFactory.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetWalletNotificationsFactory.kt index a64fca5c8c..6819e15164 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetWalletNotificationsFactory.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetWalletNotificationsFactory.kt @@ -256,7 +256,7 @@ internal class GetWalletNotificationsFactory @Inject constructor( onRefreshClick = { walletClickIntents.onRefreshPayToken(userWallet) }, shouldShowProgress = false, ) - is PaymentAccountStatusValue.NotCreated -> null // TODO(Main redesign) + is PaymentAccountStatusValue.NotCreated -> null // TODO(Main redesign) and analytics PermanentBannerShowed is PaymentAccountStatusValue.Error.Unavailable -> WalletNotificationUM.TangemPayUnreachable is PaymentAccountStatusValue.Error.CardIssueFailed, is PaymentAccountStatusValue.Error.ExposedDevice,