Slide 101
Slide 101 text
class Broadway(
private val viewFactories: List = listOf(),
private val transitionFactories: List = listOf(),
private val presenterFactories: List = listOf(),
) {
fun createViewOrNull(...): ScreenView? {
return viewFactories.asSequence().mapNotNull {
it.createView(screen, themedContext, parent)
}.firstOrNull()
}
fun createTransition(...): Animator? {
return transitionFactories.asSequence().mapNotNull {
it.createTransition(fromScreen, fromView, toScreen, toView, parent)
}.firstOrNull()
}
fun createPresenter(screen: Screen, navigator: Navigator): Presenter<*, *>? {
return presenterFactories.asSequence().mapNotNull {
it.create(screen, navigator)
}.firstOrNull()
}
}