@@ -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)
|
||||
}
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user