Updated on 2026-08-14

This commit is contained in:
Tangem 2025-12-23 14:01:21 +03:00
parent e904e54848
commit b2fbe74220
14 changed files with 121 additions and 32 deletions

View file

@ -27,11 +27,7 @@ interface AnalyticsHandler : AnalyticsEventHandler {
fun id(): String
fun send(eventId: String, params: Map<String, String> = emptyMap())
override fun send(event: AnalyticsEvent) {
send(event.id, event.params)
}
override fun send(event: AnalyticsEvent)
}
interface AnalyticsHandlerHolder {

View file

@ -0,0 +1,23 @@
package com.tangem.core.analytics.filter
import com.tangem.core.analytics.api.AnalyticsEventFilter
import com.tangem.core.analytics.api.AnalyticsHandler
import com.tangem.core.analytics.models.AnalyticsEvent
import com.tangem.core.analytics.models.AppsFlyerIncludedEvent
import com.tangem.core.analytics.models.AppsFlyerOnlyEvent
class AppsFlyerEventFilter : AnalyticsEventFilter {
override fun canBeAppliedTo(event: AnalyticsEvent): Boolean =
event is AppsFlyerOnlyEvent || event is AppsFlyerIncludedEvent
override suspend fun canBeSent(event: AnalyticsEvent): Boolean = true
override fun canBeConsumedByHandler(handler: AnalyticsHandler, event: AnalyticsEvent): Boolean {
return when (event) {
is AppsFlyerOnlyEvent -> handler.id() == "AppsFlyer"
is AppsFlyerIncludedEvent -> true
else -> false
}
}
}