mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
Replace AnalyticsSdkSpanFactory with AnalyticsSdkManager.
`AnalyticsSdkManager` also enables and disables Sentry logging in the SDK based on analytics user content.
This commit is contained in:
committed by
Jorge Martin Espinosa
parent
942eae94ad
commit
342ee0c10b
+8
-3
@@ -9,12 +9,17 @@ package io.element.android.libraries.matrix.impl.analytics
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.services.analytics.api.AnalyticsSdkManager
|
||||
import io.element.android.services.analytics.api.AnalyticsSdkSpan
|
||||
import io.element.android.services.analytics.api.AnalyticsSdkSpanFactory
|
||||
import org.matrix.rustcomponents.sdk.enableSentryLogging
|
||||
|
||||
@ContributesBinding(AppScope::class)
|
||||
class DefaultAnalyticsSdkFactory : AnalyticsSdkSpanFactory {
|
||||
override fun create(name: String, parentTraceId: String?): AnalyticsSdkSpan {
|
||||
class RustAnalyticsSdkManager : AnalyticsSdkManager {
|
||||
override fun enableSdkAnalytics(enabled: Boolean) {
|
||||
enableSentryLogging(enabled)
|
||||
}
|
||||
|
||||
override fun startSpan(name: String, parentTraceId: String?): AnalyticsSdkSpan {
|
||||
return RustAnalyticsSdkSpan(name = name, parentTraceId = parentTraceId)
|
||||
}
|
||||
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Copyright (c) 2025 Element Creations Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.test.analytics
|
||||
|
||||
import io.element.android.services.analytics.api.AnalyticsSdkManager
|
||||
import io.element.android.services.analytics.api.AnalyticsSdkSpan
|
||||
import io.element.android.services.analytics.api.NoopAnalyticsSdkSpan
|
||||
import io.element.android.tests.testutils.lambda.lambdaError
|
||||
|
||||
class FakeAnalyticsSdkManager(
|
||||
private val enableSdkAnalyticsLambda: ((Boolean) -> Unit) = { lambdaError() },
|
||||
) : AnalyticsSdkManager {
|
||||
override fun enableSdkAnalytics(enabled: Boolean) {
|
||||
enableSdkAnalyticsLambda(enabled)
|
||||
}
|
||||
|
||||
override fun startSpan(name: String, parentTraceId: String?): AnalyticsSdkSpan = NoopAnalyticsSdkSpan
|
||||
override fun bridge(parentTraceId: String?): AnalyticsSdkSpan = NoopAnalyticsSdkSpan
|
||||
}
|
||||
Reference in New Issue
Block a user