Skip to content

Instantly share code, notes, and snippets.

@SabagRonen
Last active August 31, 2019 15:57
Show Gist options
  • Save SabagRonen/bc0b13ca7beaa813b074fac92a7b3f1f to your computer and use it in GitHub Desktop.
Save SabagRonen/bc0b13ca7beaa813b074fac92a7b3f1f to your computer and use it in GitHub Desktop.
dagger android injector post Main Activity injector
inline fun <reified T : Activity> createFakeMainActivityInjector(crossinline block : T.() -> Unit)
: DispatchingAndroidInjector<Any> {
val injector = AndroidInjector<Activity> { instance ->
if (instance is T) {
instance.block()
}
}
val factory = Factory<Activity> { injector }
val map = mapOf(Pair<Class <*>, Provider<Factory<*>>>(T::class.java, Provider { factory }))
return DispatchingAndroidInjector_Factory.newInstance(map, emptyMap())
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment