From 4a59f8899002936cf4f8a15ae7ccc42e6665a857 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 30 Oct 2024 23:55:53 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/tap/common/extensions/Store.kt | 4 ++-- .../com/tangem/tap/domain/TapWalletManager.kt | 10 +++------- .../analytics/TokenScreenAnalyticsEvent.kt | 5 ----- .../viewmodels/TokenDetailsViewModel.kt | 2 -- .../wallet/analytics/PortfolioEvent.kt | 17 ----------------- .../analytics/WalletScreenAnalyticsEvent.kt | 4 ---- .../viewmodels/intents/WalletClickIntents.kt | 5 ----- .../intents/WalletContentClickIntents.kt | 6 ------ 8 files changed, 5 insertions(+), 48 deletions(-) delete mode 100644 features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/PortfolioEvent.kt diff --git a/app/src/main/java/com/tangem/tap/common/extensions/Store.kt b/app/src/main/java/com/tangem/tap/common/extensions/Store.kt index 27fc3c3bc3..b86d13b6e9 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/Store.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/Store.kt @@ -43,8 +43,8 @@ fun Store<*>.dispatchNotification(resId: Int) { dispatchOnMain(GlobalAction.ShowNotification(resId)) } -suspend fun Store.onUserWalletSelected(userWallet: UserWallet, sendAnalyticsEvent: Boolean = false) { - state.globalState.tapWalletManager.onWalletSelected(userWallet, sendAnalyticsEvent) +suspend fun Store.onUserWalletSelected(userWallet: UserWallet) { + state.globalState.tapWalletManager.onWalletSelected(userWallet) } fun Store<*>.dispatchErrorNotification(error: TapError) { diff --git a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt index faaa017b70..4a7fac7d10 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt @@ -3,7 +3,6 @@ package com.tangem.tap.domain import com.tangem.blockchain.common.Token import com.tangem.blockchain.common.Wallet import com.tangem.core.analytics.Analytics -import com.tangem.core.analytics.models.Basic import com.tangem.domain.common.extensions.withMainContext import com.tangem.domain.wallets.models.UserWallet import com.tangem.operations.attestation.Attestation @@ -28,19 +27,16 @@ class TapWalletManager( field = value } - suspend fun onWalletSelected(userWallet: UserWallet, sendAnalyticsEvent: Boolean) { + suspend fun onWalletSelected(userWallet: UserWallet) { // If a previous job was running, it gets cancelled before the new one starts, // ensuring that only one job is active at any given time. loadUserWalletDataJob = CoroutineScope(dispatchers.io) - .launch { loadUserWalletData(userWallet, sendAnalyticsEvent) } + .launch { loadUserWalletData(userWallet) } .also { it.join() } } - private suspend fun loadUserWalletData(userWallet: UserWallet, sendAnalyticsEvent: Boolean) { + private suspend fun loadUserWalletData(userWallet: UserWallet) { Analytics.setContext(userWallet.scanResponse) - if (sendAnalyticsEvent) { - Analytics.send(Basic.WalletOpened()) - } val scanResponse = userWallet.scanResponse val card = scanResponse.card val attestationFailed = card.attestation.status == Attestation.Status.Failed 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 bea218c179..c661b761bd 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 @@ -18,11 +18,6 @@ sealed class TokenScreenAnalyticsEvent( params = mapOf("Token" to token), ) - class Refreshed(token: String) : TokenScreenAnalyticsEvent( - event = "Refreshed", - params = mapOf("Token" to token), - ) - class ButtonRemoveToken(token: String) : TokenScreenAnalyticsEvent( "Button - Remove Token", params = mapOf("Token" to token), 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 a63d88e92a..540eb5eb32 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 @@ -720,8 +720,6 @@ internal class TokenDetailsViewModel @Inject constructor( } override fun onRefreshSwipe(isRefreshing: Boolean) { - analyticsEventsHandler.send(TokenScreenAnalyticsEvent.Refreshed(cryptoCurrency.symbol)) - internalUiState.value = stateFactory.getRefreshingState() viewModelScope.launch(dispatchers.main) { diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/PortfolioEvent.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/PortfolioEvent.kt deleted file mode 100644 index 85553a1445..0000000000 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/PortfolioEvent.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.tangem.feature.wallet.presentation.wallet.analytics - -import com.tangem.core.analytics.models.AnalyticsEvent - -sealed class PortfolioEvent( - event: String, - params: Map = mapOf(), -) : AnalyticsEvent("Portfolio", event, params) { - - object Refreshed : PortfolioEvent("Refreshed") - - object ButtonManageTokens : PortfolioEvent("Button - Manage Tokens") - - object TokenTapped : PortfolioEvent("Token is Tapped") - - object OrganizeTokens : PortfolioEvent("Button - Organize Tokens") -} \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/WalletScreenAnalyticsEvent.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/WalletScreenAnalyticsEvent.kt index c0021f5d7e..9eadef3def 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/WalletScreenAnalyticsEvent.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/WalletScreenAnalyticsEvent.kt @@ -23,8 +23,6 @@ sealed class WalletScreenAnalyticsEvent { override val oneTimeEventId: String = id + userWalletId.stringValue } - data object WalletOpened : Basic(event = "Wallet Opened") - class CardWasScanned(source: AnalyticsParam.ScreensSources) : Basic( event = "Card Was Scanned", params = mapOf( @@ -74,7 +72,6 @@ sealed class WalletScreenAnalyticsEvent { ) : AnalyticsEvent(category = "Main Screen", event = event, params = params) { data object ScreenOpened : MainScreen(event = "Screen opened") - data object WalletSwipe : MainScreen(event = "Wallet Swipe") class EnableBiometrics(state: AnalyticsParam.OnOffState) : MainScreen( event = "Enable Biometric", @@ -88,7 +85,6 @@ sealed class WalletScreenAnalyticsEvent { data object NoticeBackupYourWalletTapped : MainScreen(event = "Notice - Backup Your Wallet Tapped") data object NoticeScanYourCardTapped : MainScreen(event = "Notice - Scan Your Card Tapped") - data object NoticeWalletLocked : MainScreen(event = "Notice - Wallet Locked") data object WalletUnlockTapped : MainScreen(event = "Notice - Wallet Unlock Tapped") data object NetworksUnreachable : MainScreen(event = "Notice - Networks Unreachable") diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletClickIntents.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletClickIntents.kt index a1ddf993ae..0c716472a9 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletClickIntents.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletClickIntents.kt @@ -1,6 +1,5 @@ package com.tangem.feature.wallet.presentation.wallet.viewmodels.intents -import com.tangem.core.analytics.api.AnalyticsEventHandler import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase import com.tangem.domain.appcurrency.extenstions.unwrap import com.tangem.domain.common.util.cardTypesResolver @@ -12,7 +11,6 @@ import com.tangem.domain.tokens.FetchTokenListUseCase.RefreshMode import com.tangem.domain.wallets.usecase.GetSelectedWalletSyncUseCase import com.tangem.domain.wallets.usecase.SelectWalletUseCase import com.tangem.feature.wallet.presentation.router.InnerWalletRouter -import com.tangem.feature.wallet.presentation.wallet.analytics.PortfolioEvent import com.tangem.feature.wallet.presentation.wallet.domain.unwrap import com.tangem.feature.wallet.presentation.wallet.loaders.WalletScreenContentLoader import com.tangem.feature.wallet.presentation.wallet.state.WalletStateController @@ -43,7 +41,6 @@ internal class WalletClickIntents @Inject constructor( private val fetchCurrencyStatusUseCase: FetchCurrencyStatusUseCase, private val getSelectedAppCurrencyUseCase: GetSelectedAppCurrencyUseCase, private val neverToShowWalletsScrollPreview: NeverToShowWalletsScrollPreview, - private val analyticsEventHandler: AnalyticsEventHandler, private val dispatchers: CoroutineDispatcherProvider, ) : BaseWalletClickIntents(), WalletCardClickIntents by walletCardClickIntentsImplementor, @@ -87,13 +84,11 @@ internal class WalletClickIntents @Inject constructor( fun onRefreshSwipe(showRefreshState: Boolean) { when (stateHolder.getSelectedWallet()) { is WalletState.MultiCurrency.Content -> { - analyticsEventHandler.send(PortfolioEvent.Refreshed) refreshMultiCurrencyContent(showRefreshState) } is WalletState.SingleCurrency.Content, is WalletState.Visa.Content, -> { - analyticsEventHandler.send(PortfolioEvent.Refreshed) refreshSingleCurrencyContent(showRefreshState) } is WalletState.MultiCurrency.Locked, diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletContentClickIntents.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletContentClickIntents.kt index ba469eaf52..22c9441399 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletContentClickIntents.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletContentClickIntents.kt @@ -1,7 +1,6 @@ package com.tangem.feature.wallet.presentation.wallet.viewmodels.intents import arrow.core.getOrElse -import com.tangem.core.analytics.api.AnalyticsEventHandler import com.tangem.domain.redux.ReduxStateHolder import com.tangem.domain.settings.ShouldShowMarketsTooltipUseCase import com.tangem.domain.tokens.GetCryptoCurrencyActionsUseCase @@ -12,7 +11,6 @@ import com.tangem.domain.tokens.model.TokenActionsState import com.tangem.domain.txhistory.usecase.GetExplorerTransactionUrlUseCase import com.tangem.domain.wallets.models.UserWallet import com.tangem.domain.wallets.usecase.GetUserWalletUseCase -import com.tangem.feature.wallet.presentation.wallet.analytics.PortfolioEvent import com.tangem.feature.wallet.presentation.wallet.domain.unwrap import com.tangem.feature.wallet.presentation.wallet.state.WalletStateController import com.tangem.feature.wallet.presentation.wallet.state.model.ActionsBottomSheetConfig @@ -56,7 +54,6 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( private val getCryptoCurrencyActionsUseCase: GetCryptoCurrencyActionsUseCase, private val getExplorerTransactionUrlUseCase: GetExplorerTransactionUrlUseCase, private val shouldShowMarketsTooltipUseCase: ShouldShowMarketsTooltipUseCase, - private val analyticsEventHandler: AnalyticsEventHandler, private val dispatchers: CoroutineDispatcherProvider, private val reduxStateHolder: ReduxStateHolder, ) : BaseWalletClickIntents(), WalletContentClickIntents { @@ -92,13 +89,11 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( } override fun onManageTokensClick() { - analyticsEventHandler.send(PortfolioEvent.ButtonManageTokens) reduxStateHolder.dispatch(action = TokensAction.SetArgs.ManageAccess) router.openManageTokensScreen(userWalletId = stateHolder.getSelectedWalletId()) } override fun onOrganizeTokensClick() { - analyticsEventHandler.send(PortfolioEvent.OrganizeTokens) router.openOrganizeTokensScreen(userWalletId = stateHolder.getSelectedWalletId()) } @@ -110,7 +105,6 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( } override fun onTokenItemClick(currencyStatus: CryptoCurrencyStatus) { - analyticsEventHandler.send(PortfolioEvent.TokenTapped) router.openTokenDetails(stateHolder.getSelectedWalletId(), currencyStatus) }