Updated on 2026-08-14
This commit is contained in:
parent
a9dfa54eec
commit
9647e6caa3
31 changed files with 302 additions and 40 deletions
|
|
@ -2,16 +2,18 @@ package com.tangem.tap.common.analytics.converters
|
|||
|
||||
import com.tangem.common.Converter
|
||||
import com.tangem.domain.common.CardTypesResolver
|
||||
import com.tangem.domain.wallets.models.UserWalletId
|
||||
import com.tangem.tap.common.analytics.events.Basic
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
class TopUpEventConverter : Converter<CardTypesResolver, Basic.ToppedUp?> {
|
||||
class TopUpEventConverter : Converter<Pair<UserWalletId, CardTypesResolver>, Basic.ToppedUp?> {
|
||||
|
||||
override fun convert(value: CardTypesResolver): Basic.ToppedUp? {
|
||||
val paramCardCurrency = ParamCardCurrencyConverter().convert(value) ?: return null
|
||||
override fun convert(value: Pair<UserWalletId, CardTypesResolver>): Basic.ToppedUp? {
|
||||
val (userWalletId, resolver) = value
|
||||
val paramCardCurrency = ParamCardCurrencyConverter().convert(resolver) ?: return null
|
||||
|
||||
return Basic.ToppedUp(paramCardCurrency)
|
||||
return Basic.ToppedUp(userWalletId, paramCardCurrency)
|
||||
}
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@ sealed class AnalyticsParam {
|
|||
|
||||
// MultiCurrency or CurrencyType
|
||||
sealed class CardCurrency(val value: String) {
|
||||
object MultiCurrency : CardCurrency("Multicurrency")
|
||||
object MultiCurrency : CardCurrency(value = "Multicurrency")
|
||||
class SingleCurrency(type: CurrencyType) : CardCurrency(type.value)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.tangem.tap.common.analytics.events
|
||||
|
||||
import com.tangem.core.analytics.models.AnalyticsEvent
|
||||
import com.tangem.core.analytics.models.OneTimeAnalyticsEvent
|
||||
import com.tangem.domain.wallets.models.UserWalletId
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
|
|
@ -50,10 +52,15 @@ sealed class Basic(
|
|||
}
|
||||
}
|
||||
|
||||
class ToppedUp(currency: AnalyticsParam.CardCurrency) : Basic(
|
||||
event = "Topped up",
|
||||
params = mapOf(AnalyticsParam.CURRENCY to currency.value),
|
||||
)
|
||||
class ToppedUp(userWalletId: UserWalletId, currency: AnalyticsParam.CardCurrency) :
|
||||
Basic(
|
||||
event = "Topped up",
|
||||
params = mapOf(AnalyticsParam.CURRENCY to currency.value),
|
||||
),
|
||||
OneTimeAnalyticsEvent {
|
||||
|
||||
override val oneTimeEventId: String = id + userWalletId.stringValue
|
||||
}
|
||||
|
||||
class TransactionSent(sentFrom: AnalyticsParam.TxSentFrom, memoType: MemoType) : Basic(
|
||||
event = "Transaction sent",
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ class TopUpController(
|
|||
|
||||
if (cardBalanceState.isToppedUp()) {
|
||||
topupWalletStorage.save(topupInfo.copy(cardBalanceState = DataSourceTopupInfo.CardBalanceState.Full))
|
||||
TopUpEventConverter().convert(cardTypesResolver)?.let {
|
||||
TopUpEventConverter().convert(value = userWalletId to cardTypesResolver)?.let {
|
||||
Analytics.send(it)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue