Start migrating Anvil KSP to Metro

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

View file

@ -9,14 +9,15 @@ package io.element.android.services.toolbox.impl.intent
import android.content.Context
import android.content.Intent
import com.squareup.anvil.annotations.ContributesBinding
import io.element.android.libraries.di.AppScope
import io.element.android.libraries.di.ApplicationContext
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.AppScope
import io.element.android.libraries.di.annotations.ApplicationContext
import io.element.android.services.toolbox.api.intent.ExternalIntentLauncher
import javax.inject.Inject
import dev.zacsweers.metro.Inject
@ContributesBinding(AppScope::class)
class DefaultExternalIntentLauncher @Inject constructor(
@Inject
class DefaultExternalIntentLauncher(
@ApplicationContext private val context: Context,
) : ExternalIntentLauncher {
override fun launch(intent: Intent) {

View file

@ -8,13 +8,14 @@
package io.element.android.services.toolbox.impl.sdk
import android.os.Build
import com.squareup.anvil.annotations.ContributesBinding
import io.element.android.libraries.di.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.AppScope
import io.element.android.services.toolbox.api.sdk.BuildVersionSdkIntProvider
import javax.inject.Inject
import dev.zacsweers.metro.Inject
@ContributesBinding(AppScope::class)
class DefaultBuildVersionSdkIntProvider @Inject constructor() :
@Inject
class DefaultBuildVersionSdkIntProvider() :
BuildVersionSdkIntProvider {
override fun get() = Build.VERSION.SDK_INT
}

View file

@ -10,13 +10,14 @@ package io.element.android.services.toolbox.impl.strings
import android.content.res.Resources
import androidx.annotation.PluralsRes
import androidx.annotation.StringRes
import com.squareup.anvil.annotations.ContributesBinding
import io.element.android.libraries.di.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.AppScope
import io.element.android.services.toolbox.api.strings.StringProvider
import javax.inject.Inject
import dev.zacsweers.metro.Inject
@ContributesBinding(AppScope::class)
class AndroidStringProvider @Inject constructor(private val resources: Resources) : StringProvider {
@Inject
class AndroidStringProvider(private val resources: Resources) : StringProvider {
override fun getString(@StringRes resId: Int): String {
return resources.getString(resId)
}

View file

@ -7,13 +7,14 @@
package io.element.android.services.toolbox.impl.systemclock
import com.squareup.anvil.annotations.ContributesBinding
import io.element.android.libraries.di.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.AppScope
import io.element.android.services.toolbox.api.systemclock.SystemClock
import javax.inject.Inject
import dev.zacsweers.metro.Inject
@ContributesBinding(AppScope::class)
class DefaultSystemClock @Inject constructor() : SystemClock {
@Inject
class DefaultSystemClock() : SystemClock {
/**
* Provides a UTC epoch in milliseconds
*

View file

@ -7,13 +7,13 @@
package io.element.android.services.toolbox.impl.systemclock
import com.squareup.anvil.annotations.ContributesTo
import dagger.Module
import dagger.Provides
import io.element.android.libraries.di.AppScope
import dev.zacsweers.metro.BindingContainer
import dev.zacsweers.metro.ContributesTo
import dev.zacsweers.metro.Provides
import dev.zacsweers.metro.AppScope
import kotlin.time.TimeSource
@Module
@BindingContainer
@ContributesTo(AppScope::class)
object TimeModule {
@Provides