Make SentrySdkDsn a value class instead of a qualifier
This commit is contained in:
committed by
Jorge Martin Espinosa
parent
c7a5ce152e
commit
b31267d7c7
@@ -50,6 +50,5 @@ interface AppBindings {
|
||||
|
||||
fun buildMeta(): BuildMeta
|
||||
|
||||
@SentrySdkDsn
|
||||
fun sentrySdkDsn(): String?
|
||||
fun sentrySdkDsn(): SentrySdkDsn?
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ class PlatformInitializer : Initializer<Unit> {
|
||||
logLevel = logLevel,
|
||||
extraTargets = listOf(ELEMENT_X_TARGET),
|
||||
traceLogPacks = runBlocking { preferencesStore.getTracingLogPacksFlow().first() },
|
||||
sdkSentryDsn = appBindings.sentrySdkDsn()?.takeIf { it.isNotBlank() },
|
||||
sdkSentryDsn = appBindings.sentrySdkDsn()?.value?.takeIf { it.isNotBlank() },
|
||||
)
|
||||
bugReporter.setCurrentTracingLogLevel(logLevel.name)
|
||||
platformService.init(tracingConfiguration)
|
||||
|
||||
@@ -7,21 +7,5 @@
|
||||
|
||||
package io.element.android.libraries.di.annotations
|
||||
|
||||
import dev.zacsweers.metro.Qualifier
|
||||
|
||||
/**
|
||||
* Qualifies the Sentry SDK DSN in the DI graph.
|
||||
*/
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
@MustBeDocumented
|
||||
@Qualifier
|
||||
@Target(
|
||||
AnnotationTarget.CLASS,
|
||||
AnnotationTarget.FIELD,
|
||||
AnnotationTarget.FUNCTION,
|
||||
AnnotationTarget.PROPERTY,
|
||||
AnnotationTarget.PROPERTY_GETTER,
|
||||
AnnotationTarget.VALUE_PARAMETER,
|
||||
AnnotationTarget.TYPE,
|
||||
)
|
||||
annotation class SentrySdkDsn
|
||||
@JvmInline
|
||||
value class SentrySdkDsn(val value: String)
|
||||
|
||||
@@ -16,7 +16,6 @@ import io.element.android.libraries.di.annotations.SentrySdkDsn
|
||||
@BindingContainer
|
||||
@ContributesTo(AppScope::class)
|
||||
object NoopAnalyticsModule {
|
||||
@SentrySdkDsn
|
||||
@Provides
|
||||
fun provideSentrySdkDsn(): String? = null
|
||||
fun provideSentrySdkDsn(): SentrySdkDsn? = null
|
||||
}
|
||||
|
||||
@@ -18,6 +18,5 @@ import io.element.android.services.analyticsproviders.sentry.SentryConfig
|
||||
@ContributesTo(AppScope::class)
|
||||
object SentryModule {
|
||||
@Provides
|
||||
@SentrySdkDsn
|
||||
fun provideSentrySdkDsn(): String? = SentryConfig.SDK_DSN
|
||||
fun provideSentrySdkDsn(): SentrySdkDsn? = SentrySdkDsn(SentryConfig.SDK_DSN)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user