Remove context(parentNode: Node) and provide the parent Node as a parameter.

This commit is contained in:
Benoit Marty
2025-10-31 12:04:57 +01:00
parent 45400d70d2
commit e70d767183
161 changed files with 668 additions and 436 deletions

View File

@@ -13,6 +13,9 @@ import io.element.android.libraries.architecture.FeatureEntryPoint
import io.element.android.libraries.matrix.api.core.RoomId
fun interface ReportRoomEntryPoint : FeatureEntryPoint {
context(parentNode: Node)
fun createNode(buildContext: BuildContext, roomId: RoomId): Node
fun createNode(
parentNode: Node,
buildContext: BuildContext,
roomId: RoomId,
): Node
}

View File

@@ -17,8 +17,11 @@ import io.element.android.libraries.matrix.api.core.RoomId
@ContributesBinding(AppScope::class)
class DefaultReportRoomEntryPoint : ReportRoomEntryPoint {
context(parentNode: Node)
override fun createNode(buildContext: BuildContext, roomId: RoomId): Node {
override fun createNode(
parentNode: Node,
buildContext: BuildContext,
roomId: RoomId,
): Node {
return parentNode.createNode<ReportRoomNode>(buildContext, plugins = listOf(ReportRoomNode.Inputs(roomId)))
}
}

View File

@@ -32,9 +32,11 @@ class DefaultReportRoomEntryPointTest {
}
)
}
val result = with(parentNode) {
entryPoint.createNode(BuildContext.root(null), A_ROOM_ID)
}
val result = entryPoint.createNode(
parentNode = parentNode,
buildContext = BuildContext.root(null),
roomId = A_ROOM_ID,
)
assertThat(result).isInstanceOf(ReportRoomNode::class.java)
assertThat(result.plugins).contains(ReportRoomNode.Inputs(A_ROOM_ID))
}

View File

@@ -14,8 +14,11 @@ import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.tests.testutils.lambda.lambdaError
class FakeReportRoomEntryPoint : ReportRoomEntryPoint {
context(parentNode: Node)
override fun createNode(buildContext: BuildContext, roomId: RoomId): Node {
override fun createNode(
parentNode: Node,
buildContext: BuildContext,
roomId: RoomId,
): Node {
lambdaError()
}
}