Browse Source

declare node callback in local variable

test/jme/compound-poc
Florian Renaud 1 year ago
parent
commit
8d77e700d1
  1. 10
      features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/CreateRoomFlowNode.kt

10
features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/CreateRoomFlowNode.kt

@ -68,7 +68,7 @@ class CreateRoomFlowNode @AssistedInject constructor(
override fun resolve(navTarget: NavTarget, buildContext: BuildContext): Node { override fun resolve(navTarget: NavTarget, buildContext: BuildContext): Node {
return when (navTarget) { return when (navTarget) {
NavTarget.Root -> { NavTarget.Root -> {
createNode<CreateRoomRootNode>(context = buildContext, plugins = listOf(object : CreateRoomRootNode.Callback { val callback = object : CreateRoomRootNode.Callback {
override fun onCreateNewRoom() { override fun onCreateNewRoom() {
backstack.push(NavTarget.NewRoom) backstack.push(NavTarget.NewRoom)
} }
@ -76,14 +76,16 @@ class CreateRoomFlowNode @AssistedInject constructor(
override fun onOpenRoom(roomId: RoomId) { override fun onOpenRoom(roomId: RoomId) {
plugins<CreateRoomEntryPoint.Callback>().forEach { it.onOpenRoom(roomId) } plugins<CreateRoomEntryPoint.Callback>().forEach { it.onOpenRoom(roomId) }
} }
})) }
createNode<CreateRoomRootNode>(context = buildContext, plugins = listOf(callback))
} }
NavTarget.NewRoom -> { NavTarget.NewRoom -> {
createNode<AddPeopleNode>(context = buildContext, plugins = listOf(object : AddPeopleNode.Callback { val callback = object : AddPeopleNode.Callback {
override fun onContinue(selectedUsers: List<MatrixUser>) { override fun onContinue(selectedUsers: List<MatrixUser>) {
backstack.push(NavTarget.ConfigureRoom(selectedUsers)) backstack.push(NavTarget.ConfigureRoom(selectedUsers))
} }
})) }
createNode<AddPeopleNode>(context = buildContext, plugins = listOf(callback))
} }
is NavTarget.ConfigureRoom -> { is NavTarget.ConfigureRoom -> {
createNode<ConfigureRoomNode>(context = buildContext, plugins = listOf(ConfigureRoomNode.Inputs(navTarget.users))) createNode<ConfigureRoomNode>(context = buildContext, plugins = listOf(ConfigureRoomNode.Inputs(navTarget.users)))

Loading…
Cancel
Save