Marc Plano-Lesay
07/07/2022, 12:12 AMPresenter
, and a few implementations of those. E.g.:
@ContributesMultibinding(PresenterScope::class, boundType = Presenter::class)
@StringKey("foo")
class FooPresenter @Inject constructor() : Presenter {}
My main file looks like this:
class Main @Inject constructor(
private val presenters: Map<String, Presenter>,
) {}
@Singleton
@MergeComponent(PresenterScope::class)
interface Provider {
fun main(): Main
}
fun main(args: Array<String>) {
DaggerProvider.builder().build().main().main(args)
}
The presenters injection fails, Dagger complains that there's no provide method. However, if I declare my provider like this:
@Singleton
@MergeComponent(PresenterScope::class)
interface Provider {
fun main(): Main
val presenters: Map<String, Presenter
}
There, Dagger is finding it (if I remove it from my Main
class that is). I feel like I'm missing something obvious to provide that dependency to my Main
class, but I can't figure out what?