Migrate to Metro DI (#3608)

Assisted-by: Claude:claude-opus-5
This commit is contained in:
AntsyLich
2026-08-17 00:47:48 +06:00
committed by GitHub
parent 1e5b1dc5e7
commit b2015d1ef3
314 changed files with 2416 additions and 2010 deletions
+14
View File
@@ -0,0 +1,14 @@
plugins {
alias(mihonx.plugins.android.library)
alias(mihonx.plugins.spotless)
alias(libs.plugins.metro)
}
android {
namespace = "mihon.core.metro"
}
dependencies {
implementation(libs.metro.runtime)
}
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest />
@@ -0,0 +1,5 @@
package mihon.core.metro
interface GraphProvider<T> {
val graph: T
}
@@ -0,0 +1,8 @@
package mihon.core.metro
import dev.zacsweers.metro.Qualifier
@Qualifier
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER)
@Retention(AnnotationRetention.RUNTIME)
annotation class IsDebugBuild
@@ -0,0 +1,6 @@
package mihon.core.metro
import android.content.Context
@Suppress("UNCHECKED_CAST")
fun <T> Context.metroGraph(): T = (applicationContext as GraphProvider<T>).graph