Distinguish between indexable and non-indexable extra data

This commit is contained in:
Jorge Martín
2025-12-16 17:45:56 +01:00
committed by Jorge Martin Espinosa
parent 5c6fee08fd
commit 7fe3b18699
10 changed files with 69 additions and 11 deletions

View File

@@ -11,7 +11,8 @@ import io.element.android.services.analyticsproviders.api.AnalyticsTransaction
object NoopAnalyticsTransaction : AnalyticsTransaction {
override fun startChild(operation: String, description: String?): AnalyticsTransaction = NoopAnalyticsTransaction
override fun setData(key: String, value: Any) {}
override fun putExtraData(key: String, value: String) {}
override fun putIndexableData(key: String, value: String) {}
override fun isFinished(): Boolean = true
override fun traceId(): String? = null
override fun attachError(throwable: Throwable) {}

View File

@@ -149,9 +149,15 @@ class DefaultAnalyticsService(
}
}
override fun addUserData(key: String, value: String) {
override fun addExtraData(key: String, value: String) {
if (userConsent.get()) {
analyticsProviders.onEach { it.addUserData(key, value) }
analyticsProviders.onEach { it.addExtraData(key, value) }
}
}
override fun addIndexableData(key: String, value: String) {
if (userConsent.get()) {
analyticsProviders.onEach { it.addIndexableData(key, value) }
}
}