From 946c8690f3b868d1ac7e17b307f80f5b63a16c5c Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 18 Dec 2023 16:33:58 +0200 Subject: [PATCH] Updated on 2026-08-14 --- .../feature/swap/analytics/SwapEvents.kt | 13 ++++++++-- .../feature/swap/viewmodels/SwapViewModel.kt | 26 ++++++++++++------- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/analytics/SwapEvents.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/analytics/SwapEvents.kt index b128e88b19..5a16eca233 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/analytics/SwapEvents.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/analytics/SwapEvents.kt @@ -3,6 +3,7 @@ package com.tangem.feature.swap.analytics import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.feature.swap.domain.models.domain.SwapProvider import com.tangem.feature.swap.domain.models.ui.FeeType +import com.tangem.feature.swap.models.ApproveType private const val SWAP_CATEGORY = "Swap" @@ -38,9 +39,17 @@ sealed class SwapEvents( object ButtonGivePermissionClicked : SwapEvents(event = "Button - Give permission") - data class ButtonPermissionApproveClicked(val sendToken: String, val receiveToken: String) : SwapEvents( + data class ButtonPermissionApproveClicked( + val sendToken: String, + val receiveToken: String, + val approveType: ApproveType, + ) : SwapEvents( event = "Button - Permission Approve", - params = mapOf("Send Token" to sendToken, "Receive Token" to receiveToken), + params = mapOf( + "Send Token" to sendToken, + "Receive Token" to receiveToken, + "Type" to if (approveType == ApproveType.LIMITED) "Current Transaction" else "Unlimited" + ), ) object ButtonPermissionCancelClicked : SwapEvents(event = "Button - Permission Cancel") diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt index b1438e8115..fe3d608266 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt @@ -733,16 +733,7 @@ internal class SwapViewModel @Inject constructor( }, onGivePermissionClick = { givePermissionsToSwap() - val sendTokenSymbol = dataState.fromCryptoCurrency?.currency?.symbol - val receiveTokenSymbol = dataState.toCryptoCurrency?.currency?.symbol - if (sendTokenSymbol != null && receiveTokenSymbol != null) { - analyticsEventHandler.send( - SwapEvents.ButtonPermissionApproveClicked( - sendToken = sendTokenSymbol, - receiveToken = receiveTokenSymbol, - ), - ) - } + sendPermissionApproveClickedEvent() }, onChangeCardsClicked = { onChangeCardsClicked() @@ -955,6 +946,21 @@ internal class SwapViewModel @Inject constructor( .contains(chosen.currency) } + private fun sendPermissionApproveClickedEvent() { + val sendTokenSymbol = dataState.fromCryptoCurrency?.currency?.symbol + val receiveTokenSymbol = dataState.toCryptoCurrency?.currency?.symbol + val approveType = dataState.approveType + if (sendTokenSymbol != null && receiveTokenSymbol != null && approveType != null) { + analyticsEventHandler.send( + SwapEvents.ButtonPermissionApproveClicked( + sendToken = sendTokenSymbol, + receiveToken = receiveTokenSymbol, + approveType = approveType, + ), + ) + } + } + companion object { private const val loggingTag = "SwapViewModel" private const val INITIAL_AMOUNT = ""