Remove NodeBuilder to ensure that Params and Callback are always provided.

This commit is contained in:
Benoit Marty
2025-10-30 11:37:59 +01:00
committed by Benoit Marty
parent be03c50aaf
commit 02dc71c4c3
115 changed files with 954 additions and 1174 deletions
@@ -14,12 +14,7 @@ import io.element.android.libraries.architecture.FeatureEntryPoint
import io.element.android.libraries.matrix.api.core.EventId
interface MediaGalleryEntryPoint : FeatureEntryPoint {
fun nodeBuilder(parentNode: Node, buildContext: BuildContext): NodeBuilder
interface NodeBuilder {
fun callback(callback: Callback): NodeBuilder
fun build(): Node
}
fun createNode(parentNode: Node, buildContext: BuildContext, callback: Callback): Node
interface Callback : Plugin {
fun onBackClick()
@@ -19,14 +19,9 @@ import io.element.android.libraries.matrix.api.timeline.Timeline
import kotlinx.parcelize.Parcelize
interface MediaViewerEntryPoint : FeatureEntryPoint {
fun nodeBuilder(parentNode: Node, buildContext: BuildContext): NodeBuilder
fun createNode(parentNode: Node, buildContext: BuildContext, params: Params, callback: Callback): Node
interface NodeBuilder {
fun callback(callback: Callback): NodeBuilder
fun params(params: Params): NodeBuilder
fun avatar(filename: String, avatarUrl: String): NodeBuilder
fun build(): Node
}
fun createParamsForAvatar(filename: String, avatarUrl: String): Params
interface Callback : Plugin {
fun onDone()