From d3d8dc8cc0e344d4107bd6ea95d22447663cdced Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 20 Dec 2024 19:08:19 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../model/analytics/TokenScreenAnalyticsEvent.kt | 10 ++++++++++ .../analytics/TokenDetailsAnalyticsEvent.kt | 5 +++++ .../TokenDetailsNotificationsAnalyticsSender.kt | 4 +++- .../tokendetails/viewmodels/TokenDetailsViewModel.kt | 12 ++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenScreenAnalyticsEvent.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenScreenAnalyticsEvent.kt index d42f2f31b5..804f5d06c5 100644 --- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenScreenAnalyticsEvent.kt +++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenScreenAnalyticsEvent.kt @@ -74,6 +74,16 @@ sealed class TokenScreenAnalyticsEvent( params = mapOf("Token" to tokenSymbol, "Blockchain" to blockchain), ) + class RevealTryAgain(tokenSymbol: String, blockchain: String) : TokenScreenAnalyticsEvent( + event = "Button - Reveal Try Again", + params = mapOf("Token" to tokenSymbol, "Blockchain" to blockchain), + ) + + class RevealCancel(tokenSymbol: String, blockchain: String) : TokenScreenAnalyticsEvent( + event = "Button - Reveal Cancel", + params = mapOf("Token" to tokenSymbol, "Blockchain" to blockchain), + ) + data class StakingClicked(val token: String) : TokenScreenAnalyticsEvent( event = "Staking Clicked", params = mapOf("Token" to token), diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsAnalyticsEvent.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsAnalyticsEvent.kt index 8c5f6c268f..367ea0574d 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsAnalyticsEvent.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsAnalyticsEvent.kt @@ -23,5 +23,10 @@ internal open class TokenDetailsAnalyticsEvent( event = "Not Enough Fee", params = currency.toAnalyticsParams(), ) + + class Reveal(currency: CryptoCurrency) : Notice( + event = "Notice - Reveal Transaction", + params = currency.toAnalyticsParams(), + ) } } \ No newline at end of file diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt index 836894e575..414b838b91 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt @@ -41,6 +41,9 @@ internal class TokenDetailsNotificationsAnalyticsSender( programName = TokenSwapPromoAnalyticsEvent.ProgramName.OKX, source = AnalyticsParam.ScreensSources.Token, ) + is TokenDetailsNotification.KaspaIncompleteTransactionWarning -> TokenDetailsAnalyticsEvent.Notice.Reveal( + currency = cryptoCurrency, + ) is TokenDetailsNotification.NetworksUnreachable, is TokenDetailsNotification.ExistentialDeposit, is TokenDetailsNotification.NetworksNoAccount, @@ -48,7 +51,6 @@ internal class TokenDetailsNotificationsAnalyticsSender( is TokenDetailsNotification.RentInfo, is TokenDetailsNotification.NetworkShutdown, is TokenDetailsNotification.HederaAssociateWarning, - is TokenDetailsNotification.KaspaIncompleteTransactionWarning, is TokenDetailsNotification.KoinosMana, is TokenDetailsNotification.MigrationMaticToPol, -> null diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt index 250f345a70..e2446726d6 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt @@ -825,6 +825,12 @@ internal class TokenDetailsViewModel @Inject constructor( } override fun onRetryIncompleteTransactionClick() { + analyticsEventsHandler.send( + TokenScreenAnalyticsEvent.RevealTryAgain( + tokenSymbol = cryptoCurrency.symbol, + blockchain = cryptoCurrency.network.name, + ), + ) viewModelScope.launch { retryIncompleteTransactionUseCase( userWalletId = userWalletId, @@ -860,6 +866,12 @@ internal class TokenDetailsViewModel @Inject constructor( } override fun onDismissIncompleteTransactionClick() { + analyticsEventsHandler.send( + TokenScreenAnalyticsEvent.RevealCancel( + tokenSymbol = cryptoCurrency.symbol, + blockchain = cryptoCurrency.network.name, + ), + ) viewModelScope.launch { internalUiState.value = stateFactory.getStateWithDismissIncompleteTransactionConfirmDialog() }