No need to sort AnalyticsProvider (it was copied from PushProvider)

This commit is contained in:
Benoit Marty 2023-07-21 18:12:17 +02:00
parent 287b930dcd
commit 43d28c5a3d
6 changed files with 7 additions and 11 deletions

View file

@ -33,7 +33,7 @@ class FakeAnalyticsService(
private val didAskUserConsentFlow = MutableStateFlow(didAskUserConsent) private val didAskUserConsentFlow = MutableStateFlow(didAskUserConsent)
val capturedEvents = mutableListOf<VectorAnalyticsEvent>() val capturedEvents = mutableListOf<VectorAnalyticsEvent>()
override fun getAvailableAnalyticsProviders(): List<AnalyticsProvider> = emptyList() override fun getAvailableAnalyticsProviders(): Set<AnalyticsProvider> = emptySet()
override fun getUserConsent(): Flow<Boolean> = isEnabledFlow override fun getUserConsent(): Flow<Boolean> = isEnabledFlow

View file

@ -22,7 +22,10 @@ import io.element.android.services.analyticsproviders.api.trackers.ErrorTracker
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
interface AnalyticsService: AnalyticsTracker, ErrorTracker { interface AnalyticsService: AnalyticsTracker, ErrorTracker {
fun getAvailableAnalyticsProviders(): List<AnalyticsProvider> /**
* Get the available analytics providers.
*/
fun getAvailableAnalyticsProviders(): Set<AnalyticsProvider>
/** /**
* Return a Flow of Boolean, true if the user has given their consent. * Return a Flow of Boolean, true if the user has given their consent.

View file

@ -56,8 +56,8 @@ class DefaultAnalyticsService @Inject constructor(
observeSessions() observeSessions()
} }
override fun getAvailableAnalyticsProviders(): List<AnalyticsProvider> { override fun getAvailableAnalyticsProviders(): Set<AnalyticsProvider> {
return analyticsProviders.sortedBy { it.index } return analyticsProviders
} }
override fun getUserConsent(): Flow<Boolean> { override fun getUserConsent(): Flow<Boolean> {

View file

@ -20,11 +20,6 @@ import io.element.android.services.analyticsproviders.api.trackers.AnalyticsTrac
import io.element.android.services.analyticsproviders.api.trackers.ErrorTracker import io.element.android.services.analyticsproviders.api.trackers.ErrorTracker
interface AnalyticsProvider: AnalyticsTracker, ErrorTracker { interface AnalyticsProvider: AnalyticsTracker, ErrorTracker {
/**
* Allow to sort providers, from lower index to higher index.
*/
val index: Int
/** /**
* User friendly name. * User friendly name.
*/ */

View file

@ -35,7 +35,6 @@ import javax.inject.Inject
class PosthogAnalyticsProvider @Inject constructor( class PosthogAnalyticsProvider @Inject constructor(
private val postHogFactory: PostHogFactory, private val postHogFactory: PostHogFactory,
) : AnalyticsProvider { ) : AnalyticsProvider {
override val index = PosthogConfig.index
override val name = PosthogConfig.name override val name = PosthogConfig.name
private var posthog: PostHog? = null private var posthog: PostHog? = null

View file

@ -17,7 +17,6 @@
package io.element.android.services.analyticsproviders.posthog package io.element.android.services.analyticsproviders.posthog
object PosthogConfig { object PosthogConfig {
const val index = 0
const val name = "Posthog" const val name = "Posthog"
const val postHogHost = "https://posthog.element.dev" const val postHogHost = "https://posthog.element.dev"
const val postHogApiKey = "phc_VtA1L35nw3aeAtHIx1ayrGdzGkss7k1xINeXcoIQzXN" const val postHogApiKey = "phc_VtA1L35nw3aeAtHIx1ayrGdzGkss7k1xINeXcoIQzXN"