Use context parameter for the parentNode

This commit is contained in:
Benoit Marty
2025-10-30 13:02:20 +01:00
committed by Benoit Marty
parent 566515ca88
commit 05c5f3c914
138 changed files with 450 additions and 375 deletions

View File

@@ -14,7 +14,8 @@ import io.element.android.libraries.architecture.FeatureEntryPoint
import io.element.android.libraries.matrix.api.core.RoomId
interface CreateRoomEntryPoint : FeatureEntryPoint {
fun createNode(parentNode: Node, buildContext: BuildContext, callback: Callback): Node
context(parentNode: Node)
fun createNode(buildContext: BuildContext, callback: Callback): Node
interface Callback : Plugin {
fun onRoomCreated(roomId: RoomId)

View File

@@ -16,7 +16,8 @@ import io.element.android.libraries.di.SessionScope
@ContributesBinding(SessionScope::class)
class DefaultCreateRoomEntryPoint : CreateRoomEntryPoint {
override fun createNode(parentNode: Node, buildContext: BuildContext, callback: CreateRoomEntryPoint.Callback): Node {
context(parentNode: Node)
override fun createNode(buildContext: BuildContext, callback: CreateRoomEntryPoint.Callback): Node {
return parentNode.createNode<CreateRoomFlowNode>(buildContext, listOf(callback))
}
}

View File

@@ -38,11 +38,12 @@ class DefaultCreateRoomEntryPointTest {
val callback = object : CreateRoomEntryPoint.Callback {
override fun onRoomCreated(roomId: RoomId) = lambdaError()
}
val result = entryPoint.createNode(
parentNode = parentNode,
buildContext = BuildContext.root(null),
callback = callback,
)
val result = with(parentNode) {
entryPoint.createNode(
buildContext = BuildContext.root(null),
callback = callback,
)
}
assertThat(result.plugins).contains(callback)
}
}