diff --git a/services/analytics/impl/src/main/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsService.kt b/services/analytics/impl/src/main/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsService.kt index 6b783964c5..09edd49489 100644 --- a/services/analytics/impl/src/main/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsService.kt +++ b/services/analytics/impl/src/main/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsService.kt @@ -115,15 +115,16 @@ class DefaultAnalyticsService @Inject constructor( } private fun initOrStop() { - userConsent?.let { _userConsent -> - when (_userConsent) { + userConsent?.let { userConsent -> + when (userConsent) { true -> { + analyticsProviders.onEach { it.init() } pendingUserProperties?.let { analyticsProviders.onEach { provider -> provider.updateUserProperties(it) } pendingUserProperties = null } } - false -> {} + false -> analyticsProviders.onEach { it.stop() } } } } diff --git a/services/analyticsproviders/api/src/main/kotlin/io/element/android/services/analyticsproviders/api/AnalyticsProvider.kt b/services/analyticsproviders/api/src/main/kotlin/io/element/android/services/analyticsproviders/api/AnalyticsProvider.kt index 026d4cdd6e..548f47d7ad 100644 --- a/services/analyticsproviders/api/src/main/kotlin/io/element/android/services/analyticsproviders/api/AnalyticsProvider.kt +++ b/services/analyticsproviders/api/src/main/kotlin/io/element/android/services/analyticsproviders/api/AnalyticsProvider.kt @@ -30,7 +30,7 @@ interface AnalyticsProvider: AnalyticsTracker, ErrorTracker { */ val name: String - suspend fun init() + fun init() fun stop() } diff --git a/services/analyticsproviders/posthog/src/main/kotlin/io/element/android/services/analyticsproviders/posthog/PosthogAnalyticsProvider.kt b/services/analyticsproviders/posthog/src/main/kotlin/io/element/android/services/analyticsproviders/posthog/PosthogAnalyticsProvider.kt index 2499c87e9f..92e73195c0 100644 --- a/services/analyticsproviders/posthog/src/main/kotlin/io/element/android/services/analyticsproviders/posthog/PosthogAnalyticsProvider.kt +++ b/services/analyticsproviders/posthog/src/main/kotlin/io/element/android/services/analyticsproviders/posthog/PosthogAnalyticsProvider.kt @@ -42,7 +42,7 @@ class PosthogAnalyticsProvider @Inject constructor( private var posthog: PostHog? = null private var analyticsId: String? = null - override suspend fun init() { + override fun init() { posthog = createPosthog() posthog?.optOut(false) identifyPostHog() @@ -66,10 +66,10 @@ class PosthogAnalyticsProvider @Inject constructor( } override fun updateUserProperties(userProperties: UserProperties) { - posthog?.identify( - REUSE_EXISTING_ID, userProperties.getProperties()?.toPostHogUserProperties(), - IGNORED_OPTIONS - ) +// posthog?.identify( +// REUSE_EXISTING_ID, userProperties.getProperties()?.toPostHogUserProperties(), +// IGNORED_OPTIONS +// ) } override fun trackError(throwable: Throwable) {