Start migrating Anvil KSP to Metro

This commit is contained in:
Jorge Martín 2025-08-20 15:29:50 +02:00
parent 2eacce47c0
commit 92a4b8b66b
703 changed files with 3523 additions and 2820 deletions

View file

@ -12,10 +12,11 @@ import com.posthog.PostHogInterface
import com.posthog.android.PostHogAndroid
import com.posthog.android.PostHogAndroidConfig
import io.element.android.libraries.core.meta.BuildMeta
import io.element.android.libraries.di.ApplicationContext
import javax.inject.Inject
import io.element.android.libraries.di.annotations.ApplicationContext
import dev.zacsweers.metro.Inject
class PostHogFactory @Inject constructor(
@Inject
class PostHogFactory(
@ApplicationContext private val context: Context,
private val buildMeta: BuildMeta,
private val posthogEndpointConfigProvider: PosthogEndpointConfigProvider,

View file

@ -8,22 +8,23 @@
package io.element.android.services.analyticsproviders.posthog
import com.posthog.PostHogInterface
import com.squareup.anvil.annotations.ContributesMultibinding
import dev.zacsweers.metro.ContributesIntoSet
import im.vector.app.features.analytics.itf.VectorAnalyticsEvent
import im.vector.app.features.analytics.itf.VectorAnalyticsScreen
import im.vector.app.features.analytics.plan.SuperProperties
import im.vector.app.features.analytics.plan.UserProperties
import io.element.android.libraries.di.AppScope
import dev.zacsweers.metro.AppScope
import io.element.android.services.analyticsproviders.api.AnalyticsProvider
import io.element.android.services.analyticsproviders.posthog.log.analyticsTag
import timber.log.Timber
import javax.inject.Inject
import dev.zacsweers.metro.Inject
// private val REUSE_EXISTING_ID: String? = null
// private val IGNORED_OPTIONS: Options? = null
@ContributesMultibinding(AppScope::class)
class PosthogAnalyticsProvider @Inject constructor(
@ContributesIntoSet(AppScope::class)
@Inject
class PosthogAnalyticsProvider(
private val postHogFactory: PostHogFactory,
) : AnalyticsProvider {
override val name = "Posthog"

View file

@ -11,9 +11,10 @@ import io.element.android.features.enterprise.api.EnterpriseService
import io.element.android.libraries.core.extensions.isElement
import io.element.android.libraries.core.meta.BuildMeta
import io.element.android.libraries.core.meta.BuildType
import javax.inject.Inject
import dev.zacsweers.metro.Inject
class PosthogEndpointConfigProvider @Inject constructor(
@Inject
class PosthogEndpointConfigProvider(
private val buildMeta: BuildMeta,
private val enterpriseService: EnterpriseService,
) {