single<ObserveLifeCycleState> { Communicator( domain = get(), repositoryMessanger = get() ) }
single<NewMessageListener> { Communicator( domain = get(), repositoryMessanger = get() ) }
As you can see I am instantiating the same 2 objects because it implements both interfaces. But this creates 2 different objects. How can I do it with only one initialization?
single {
Communicator(
domain = get(),
repositoryMessanger = get()
)
}
single {
val communicator: Communicator = get()
communicator as NewMessageListener
}