BayernMessenger/app/src/main/java/im/vector/riotredesign/features/home/HomeModule.kt

69 lines
1.8 KiB
Kotlin
Raw Normal View History

package im.vector.riotredesign.features.home
import im.vector.riotredesign.features.home.group.SelectedGroupHolder
import im.vector.riotredesign.features.home.room.VisibleRoomHolder
import im.vector.riotredesign.features.home.room.detail.timeline.DefaultItemFactory
import im.vector.riotredesign.features.home.room.detail.timeline.MessageItemFactory
import im.vector.riotredesign.features.home.room.detail.timeline.RoomMemberItemFactory
import im.vector.riotredesign.features.home.room.detail.timeline.RoomNameItemFactory
import im.vector.riotredesign.features.home.room.detail.timeline.RoomTopicItemFactory
2018-11-02 10:50:56 +00:00
import im.vector.riotredesign.features.home.room.detail.timeline.TimelineDateFormatter
import im.vector.riotredesign.features.home.room.detail.timeline.TimelineEventController
import im.vector.riotredesign.features.home.room.detail.timeline.TimelineItemFactory
import org.koin.dsl.module.module
class HomeModule {
val definition = module(override = true) {
single {
2018-11-02 10:50:56 +00:00
TimelineDateFormatter(get())
}
single {
MessageItemFactory(get())
}
single {
RoomNameItemFactory(get())
}
single {
RoomTopicItemFactory(get())
}
single {
RoomMemberItemFactory(get())
}
single {
DefaultItemFactory()
}
single {
TimelineItemFactory(get(), get(), get(), get(), get())
}
2018-12-30 12:02:20 +00:00
single {
HomeNavigator()
}
2018-11-27 11:23:15 +00:00
factory { (roomId: String) ->
TimelineEventController(roomId, get(), get())
2018-11-02 10:50:56 +00:00
}
single {
SelectedGroupHolder()
}
single {
VisibleRoomHolder()
}
single {
HomePermalinkHandler(get())
}
}
}