Some clean up on room details
This commit is contained in:
parent
7a247e1c29
commit
281f90e148
7 changed files with 37 additions and 71 deletions
|
|
@ -56,19 +56,16 @@ class RoomDetailsFlowNode @AssistedInject constructor(
|
|||
object RoomMemberList : NavTarget
|
||||
}
|
||||
|
||||
interface Callback : Plugin {
|
||||
fun openRoomMemberList()
|
||||
}
|
||||
|
||||
val callback = object : Callback {
|
||||
override fun openRoomMemberList() {
|
||||
backstack.push(NavTarget.RoomMemberList)
|
||||
}
|
||||
}
|
||||
|
||||
override fun resolve(navTarget: NavTarget, buildContext: BuildContext): Node {
|
||||
return when (navTarget) {
|
||||
NavTarget.RoomDetails -> createNode<RoomDetailsNode>(buildContext, listOf(callback))
|
||||
NavTarget.RoomDetails -> {
|
||||
val callback = object : RoomDetailsNode.Callback {
|
||||
override fun openRoomMemberList() {
|
||||
backstack.push(NavTarget.RoomMemberList)
|
||||
}
|
||||
}
|
||||
createNode<RoomDetailsNode>(buildContext, listOf(callback))
|
||||
}
|
||||
NavTarget.RoomMemberList -> createNode<RoomMemberListNode>(buildContext)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,11 @@ class RoomDetailsNode @AssistedInject constructor(
|
|||
private val room: MatrixRoom,
|
||||
) : Node(buildContext, plugins = plugins) {
|
||||
|
||||
private val callback = plugins<RoomDetailsFlowNode.Callback>().firstOrNull()
|
||||
interface Callback : Plugin {
|
||||
fun openRoomMemberList()
|
||||
}
|
||||
|
||||
private val callback = plugins<Callback>().firstOrNull()
|
||||
|
||||
private fun openRoomMemberList() {
|
||||
callback?.openRoomMemberList()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue