From e70d7671837bc38123ab96868a960a959d44d599 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 31 Oct 2025 12:04:57 +0100 Subject: [PATCH] Remove context(parentNode: Node) and provide the parent Node as a parameter. --- .../android/appnav/LoggedInFlowNode.kt | 10 ++++++- .../android/appnav/NotLoggedInFlowNode.kt | 1 + .../io/element/android/appnav/RootFlowNode.kt | 3 +++ .../android/appnav/room/RoomFlowNode.kt | 8 +++++- .../room/joined/JoinedRoomLoadedFlowNode.kt | 4 +++ .../appnav/JoinedRoomLoadedFlowNodeTest.kt | 6 ++--- .../impl/DefaultAnalyticsEntryPoint.kt | 3 +-- .../impl/DefaultAnalyticsEntryPointTest.kt | 4 +-- .../api/ChangeRoomMemberRolesEntryPoint.kt | 2 +- .../DefaultChangeRoomMemberRolesEntyPoint.kt | 2 +- ...faultChangeRoomMemberRolesEntyPointTest.kt | 13 +++++----- .../FakeChangeRoomMemberRolesEntryPoint.kt | 2 +- .../createroom/api/CreateRoomEntryPoint.kt | 7 +++-- .../impl/DefaultCreateRoomEntryPoint.kt | 7 +++-- .../impl/DefaultCreateRoomEntryPointTest.kt | 11 ++++---- .../api/FakeCreateRoomEntryPoint.kt | 2 +- .../DefaultAccountDeactivationEntryPoint.kt | 3 +-- ...efaultAccountDeactivationEntryPointTest.kt | 4 +-- .../test/FakeAccountDeactivationEntryPoint.kt | 6 +++-- .../features/forward/api/ForwardEntryPoint.kt | 8 ++++-- .../forward/impl/DefaultForwardEntryPoint.kt | 8 ++++-- .../forward/impl/ForwardMessagesNode.kt | 1 + .../impl/DefaultForwardEntryPointTest.kt | 13 +++++----- .../forward/test/FakeForwardEntryPoint.kt | 2 +- .../ftue/impl/DefaultFtueEntryPoint.kt | 3 +-- .../features/ftue/impl/FtueFlowNode.kt | 3 ++- .../FtueSessionVerificationFlowNode.kt | 3 +++ .../ftue/impl/DefaultFtueEntryPointTest.kt | 6 ++--- .../features/home/api/HomeEntryPoint.kt | 7 +++-- .../home/impl/DefaultHomeEntryPoint.kt | 7 +++-- .../features/home/impl/HomeFlowNode.kt | 17 ++++++++++-- .../home/impl/DefaultHomeEntryPointTest.kt | 17 ++++++------ .../DeclineInviteAndBlockEntryPoint.kt | 7 +++-- .../DefaultDeclineAndBlockEntryPoint.kt | 7 +++-- .../DefaultDeclineAndBlockEntryPointTest.kt | 11 ++++---- .../FakeDeclineInviteAndBlockEntryPoint.kt | 7 +++-- .../joinroom/api/JoinRoomEntryPoint.kt | 7 +++-- .../impl/DefaultJoinRoomEntryPoint.kt | 7 +++-- .../joinroom/impl/JoinRoomFlowNode.kt | 6 ++++- .../impl/DefaultJoinRoomEntryPointTest.kt | 8 +++--- .../DefaultKnockRequestsListEntryPoint.kt | 3 +-- .../DefaultKnockRequestsListEntryPointTest.kt | 4 +-- .../test/FakeKnockRequestsListEntryPoint.kt | 6 +++-- .../DefaultOpenSourcesLicensesEntryPoint.kt | 3 +-- ...efaultOpenSourcesLicensesEntryPointTest.kt | 4 +-- .../test/FakeOpenSourceLicensesEntryPoint.kt | 6 +++-- .../location/api/SendLocationEntryPoint.kt | 2 +- .../location/api/ShowLocationEntryPoint.kt | 12 ++++++--- .../send/DefaultSendLocationEntryPoint.kt | 2 +- .../show/DefaultShowLocationEntryPoint.kt | 7 +++-- .../send/DefaultSendLocationEntryPointTest.kt | 11 ++++---- .../show/DefaultShowLocationEntryPointTest.kt | 11 ++++---- .../test/FakeSendLocationEntryPoint.kt | 2 +- .../test/FakeShowLocationEntryPoint.kt | 2 +- .../lockscreen/api/LockScreenEntryPoint.kt | 8 ++++-- .../impl/DefaultLockScreenEntryPoint.kt | 2 +- .../impl/DefaultLockScreenEntryPointTest.kt | 26 +++++++++---------- .../test/FakeLockScreenEntryPoint.kt | 2 +- .../features/login/api/LoginEntryPoint.kt | 8 ++++-- .../login/impl/DefaultLoginEntryPoint.kt | 8 ++++-- .../login/impl/DefaultLoginEntryPointTest.kt | 13 +++++----- .../features/logout/api/LogoutEntryPoint.kt | 7 +++-- .../logout/impl/DefaultLogoutEntryPoint.kt | 7 +++-- .../impl/DefaultLogoutEntryPointTest.kt | 11 ++++---- .../logout/test/FakeLogoutEntryPoint.kt | 2 +- .../messages/api/MessagesEntryPoint.kt | 8 ++++-- .../impl/DefaultMessagesEntryPoint.kt | 8 ++++-- .../messages/impl/MessagesFlowNode.kt | 13 ++++++++-- .../impl/DefaultMessagesEntryPointTest.kt | 13 +++++----- .../messages/test/FakeMessagesEntryPoint.kt | 2 +- .../poll/api/create/CreatePollEntryPoint.kt | 7 +++-- .../create/DefaultCreatePollEntryPoint.kt | 7 +++-- .../history/DefaultPollHistoryEntryPoint.kt | 3 +-- .../poll/impl/history/PollHistoryFlowNode.kt | 1 + .../create/DefaultCreatePollEntryPointTest.kt | 11 ++++---- .../DefaultPollHistoryEntryPointTest.kt | 4 +-- .../test/create/FakeCreatePollEntryPoint.kt | 2 +- .../test/history/FakePollHistoryEntryPoint.kt | 2 +- .../preferences/api/PreferencesEntryPoint.kt | 8 ++++-- .../impl/DefaultPreferencesEntryPoint.kt | 2 +- .../preferences/impl/PreferencesFlowNode.kt | 8 ++++-- .../impl/DefaultPreferencesEntryPointTest.kt | 13 +++++----- .../api/bugreport/BugReportEntryPoint.kt | 7 +++-- .../impl/bugreport/BugReportFlowNode.kt | 1 + .../bugreport/DefaultBugReportEntryPoint.kt | 7 +++-- .../DefaultBugReportEntryPointTest.kt | 11 ++++---- .../reportroom/api/ReportRoomEntryPoint.kt | 7 +++-- .../impl/DefaultReportRoomEntryPoint.kt | 7 +++-- .../impl/DefaultReportRoomEntryPointTest.kt | 8 +++--- .../test/FakeReportRoomEntryPoint.kt | 7 +++-- .../api/RoomAliasResolverEntryPoint.kt | 8 ++++-- .../DefaultRoomAliasResolverEntryPoint.kt | 2 +- .../DefaultRoomAliasResolverEntryPointTest.kt | 13 +++++----- .../roomdetails/api/RoomDetailsEntryPoint.kt | 8 ++++-- .../impl/DefaultRoomDetailsEntryPoint.kt | 2 +- .../roomdetails/impl/RoomDetailsFlowNode.kt | 15 ++++++++--- .../RolesAndPermissionsFlowNode.kt | 2 ++ .../impl/DefaultRoomDetailsEntryPointTest.kt | 13 +++++----- .../api/RoomDirectoryEntryPoint.kt | 7 +++-- .../impl/DefaultRoomDirectoryEntryPoint.kt | 7 +++-- .../DefaultRoomDirectoryEntryPointTest.kt | 11 ++++---- .../api/SecureBackupEntryPoint.kt | 8 ++++-- .../impl/DefaultSecureBackupEntryPoint.kt | 2 +- .../impl/DefaultSecureBackupEntryPointTest.kt | 13 +++++----- .../features/share/api/ShareEntryPoint.kt | 8 ++++-- .../share/impl/DefaultShareEntryPoint.kt | 8 ++++-- .../android/features/share/impl/ShareNode.kt | 1 + .../share/impl/DefaultShareEntryPointTest.kt | 13 +++++----- .../signedout/api/SignedOutEntryPoint.kt | 7 +++-- .../impl/DefaultSignedOutEntryPoint.kt | 7 +++-- .../impl/DefaultSignedOutEntryPointTest.kt | 11 ++++---- .../features/space/api/SpaceEntryPoint.kt | 2 +- .../space/impl/DefaultSpaceEntryPoint.kt | 8 ++++-- .../space/impl/DefaultSpaceEntryPointTest.kt | 13 +++++----- .../startchat/api/StartChatEntryPoint.kt | 7 +++-- .../impl/DefaultStartChatEntryPoint.kt | 7 +++-- .../startchat/impl/StartChatFlowNode.kt | 1 + .../impl/DefaultStartChatEntryPointTest.kt | 11 ++++---- .../userprofile/api/UserProfileEntryPoint.kt | 8 ++++-- .../impl/DefaultUserProfileEntryPoint.kt | 2 +- .../userprofile/impl/UserProfileFlowNode.kt | 2 ++ .../impl/DefaultUserProfileEntryPointTest.kt | 13 +++++----- .../api/IncomingVerificationEntryPoint.kt | 8 ++++-- .../api/OutgoingVerificationEntryPoint.kt | 8 ++++-- .../DefaultIncomingVerificationEntryPoint.kt | 2 +- .../DefaultOutgoingVerificationEntryPoint.kt | 2 +- ...faultIncomingVerificationEntryPointTest.kt | 13 +++++----- ...faultOutgoingVerificationEntryPointTest.kt | 13 +++++----- .../FakeIncomingVerificationEntryPoint.kt | 2 +- .../FakeOutgoingVerificationEntryPoint.kt | 2 +- .../viewfolder/api/ViewFolderEntryPoint.kt | 8 ++++-- .../impl/DefaultViewFolderEntryPoint.kt | 8 ++++-- .../impl/DefaultViewFolderEntryPointTest.kt | 13 +++++----- .../test/FakeViewFolderEntryPoint.kt | 2 +- .../api/AccountSelectEntryPoint.kt | 7 +++-- .../impl/DefaultAccountSelectEntryPoint.kt | 7 +++-- .../DefaultAccountSelectEntryPointTest.kt | 11 ++++---- .../architecture/FeatureEntryPoint.kt | 3 +-- .../mediaviewer/api/MediaGalleryEntryPoint.kt | 7 +++-- .../mediaviewer/api/MediaViewerEntryPoint.kt | 8 ++++-- .../impl/DefaultMediaGalleryEntryPoint.kt | 7 +++-- .../impl/DefaultMediaViewerEntryPoint.kt | 2 +- .../impl/gallery/root/MediaGalleryFlowNode.kt | 1 + .../impl/DefaultMediaGalleryEntryPointTest.kt | 11 ++++---- .../impl/DefaultMediaViewerEntryPointTest.kt | 26 +++++++++---------- .../test/FakeMediaGalleryEntryPoint.kt | 2 +- .../test/FakeMediaViewerEntryPoint.kt | 2 +- .../roomselect/api/RoomSelectEntryPoint.kt | 8 ++++-- .../impl/DefaultRoomSelectEntryPoint.kt | 8 ++++-- .../impl/DefaultRoomSelectEntryPointTest.kt | 13 +++++----- .../test/FakeRoomSelectEntryPoint.kt | 2 +- .../api/NotificationTroubleShootEntryPoint.kt | 7 +++-- .../troubleshoot/api/PushHistoryEntryPoint.kt | 7 +++-- ...faultNotificationTroubleShootEntryPoint.kt | 7 +++-- .../history/DefaultPushHistoryEntryPoint.kt | 7 +++-- ...tNotificationTroubleShootEntryPointTest.kt | 11 ++++---- .../DefaultPushHistoryEntryPointTest.kt | 11 ++++---- .../FakeNotificationTroubleShootEntryPoint.kt | 2 +- .../test/FakePushHistoryEntryPoint.kt | 2 +- ...Template Module Feature Entry Point API.kt | 7 +++-- ...te Module Feature Entry Point Flow Impl.kt | 8 ++++-- 161 files changed, 668 insertions(+), 436 deletions(-) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt index 34815a55a1..ae61a03281 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt @@ -334,6 +334,7 @@ class LoggedInFlowNode( } } homeEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = callback, ) @@ -390,6 +391,7 @@ class LoggedInFlowNode( } } userProfileEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = UserProfileEntryPoint.Params(userId = navTarget.userId), callback = callback, @@ -419,6 +421,7 @@ class LoggedInFlowNode( } val inputs = PreferencesEntryPoint.Params(navTarget.initialElement) preferencesEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = inputs, callback = callback, @@ -436,12 +439,14 @@ class LoggedInFlowNode( } startChatEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = callback, ) } is NavTarget.SecureBackup -> { secureBackupEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = SecureBackupEntryPoint.Params(initialElement = navTarget.initialElement), callback = object : SecureBackupEntryPoint.Callback { @@ -452,10 +457,11 @@ class LoggedInFlowNode( ) } NavTarget.Ftue -> { - ftueEntryPoint.createNode(buildContext) + ftueEntryPoint.createNode(this, buildContext) } NavTarget.RoomDirectory -> { roomDirectoryEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = object : RoomDirectoryEntryPoint.Callback { override fun navigateToRoom(roomDescription: RoomDescription) { @@ -472,6 +478,7 @@ class LoggedInFlowNode( } is NavTarget.IncomingShare -> { shareEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = ShareEntryPoint.Params(intent = navTarget.intent), callback = object : ShareEntryPoint.Callback { @@ -486,6 +493,7 @@ class LoggedInFlowNode( } is NavTarget.IncomingVerificationRequest -> { incomingVerificationEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = IncomingVerificationEntryPoint.Params(navTarget.data), callback = object : IncomingVerificationEntryPoint.Callback { diff --git a/appnav/src/main/kotlin/io/element/android/appnav/NotLoggedInFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/NotLoggedInFlowNode.kt index 4ca9a2db17..b372155bd3 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/NotLoggedInFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/NotLoggedInFlowNode.kt @@ -84,6 +84,7 @@ class NotLoggedInFlowNode( } } loginEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = LoginEntryPoint.Params( accountProvider = inputs.loginParams?.accountProvider, diff --git a/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt index e1322d0bbe..bdad3c2ab0 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt @@ -250,6 +250,7 @@ class RootFlowNode( } is NavTarget.SignedOutFlow -> { signedOutEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = SignedOutEntryPoint.Params( sessionId = navTarget.sessionId, @@ -264,6 +265,7 @@ class RootFlowNode( } } bugReportEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = callback, ) @@ -292,6 +294,7 @@ class RootFlowNode( } } accountSelectEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = callback, ) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/room/RoomFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/room/RoomFlowNode.kt index 602979edca..a41eb8d777 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/room/RoomFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/room/RoomFlowNode.kt @@ -181,6 +181,7 @@ class RoomFlowNode( } val params = Params(navTarget.roomAlias) roomAliasResolverEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = callback, @@ -194,7 +195,11 @@ class RoomFlowNode( serverNames = navTarget.serverNames, trigger = navTarget.trigger, ) - joinRoomEntryPoint.createNode(buildContext, inputs) + joinRoomEntryPoint.createNode( + parentNode = this, + buildContext = buildContext, + inputs = inputs, + ) } is NavTarget.JoinedRoom -> { val roomFlowNodeCallback = plugins() @@ -207,6 +212,7 @@ class RoomFlowNode( is NavTarget.JoinedSpace -> { val spaceCallback = plugins().single() spaceEntryPoint.createNode( + parentNode = this, buildContext = buildContext, inputs = SpaceEntryPoint.Inputs(roomId = navTarget.spaceId), callback = spaceCallback, diff --git a/appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt index af0ed4c919..16eaff89b1 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt @@ -141,6 +141,7 @@ class JoinedRoomLoadedFlowNode( } } return roomDetailsEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = RoomDetailsEntryPoint.Params(initialTarget), callback = callback, @@ -179,6 +180,7 @@ class JoinedRoomLoadedFlowNode( } } forwardEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = callback, @@ -202,6 +204,7 @@ class JoinedRoomLoadedFlowNode( } } return spaceEntryPoint.createNode( + parentNode = this, buildContext = buildContext, inputs = SpaceEntryPoint.Inputs(roomId = inputs.room.roomId), callback = callback, @@ -237,6 +240,7 @@ class JoinedRoomLoadedFlowNode( MessagesEntryPoint.InitialTarget.Messages(navTarget.focusedEventId) ) return messagesEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = callback, diff --git a/appnav/src/test/kotlin/io/element/android/appnav/JoinedRoomLoadedFlowNodeTest.kt b/appnav/src/test/kotlin/io/element/android/appnav/JoinedRoomLoadedFlowNodeTest.kt index 0474be0eb7..e560593399 100644 --- a/appnav/src/test/kotlin/io/element/android/appnav/JoinedRoomLoadedFlowNodeTest.kt +++ b/appnav/src/test/kotlin/io/element/android/appnav/JoinedRoomLoadedFlowNodeTest.kt @@ -55,8 +55,8 @@ class JoinedRoomLoadedFlowNodeTest { var parameters: MessagesEntryPoint.Params? = null var callback: MessagesEntryPoint.Callback? = null - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: MessagesEntryPoint.Params, callback: MessagesEntryPoint.Callback, @@ -78,8 +78,8 @@ class JoinedRoomLoadedFlowNodeTest { private class FakeRoomDetailsEntryPoint : RoomDetailsEntryPoint { var nodeId: String? = null - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: RoomDetailsEntryPoint.Params, callback: RoomDetailsEntryPoint.Callback, @@ -91,8 +91,8 @@ class JoinedRoomLoadedFlowNodeTest { private class FakeSpaceEntryPoint : SpaceEntryPoint { var nodeId: String? = null - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, inputs: SpaceEntryPoint.Inputs, callback: SpaceEntryPoint.Callback, diff --git a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPoint.kt b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPoint.kt index 09dd1d0181..af59c94e0a 100644 --- a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPoint.kt +++ b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPoint.kt @@ -16,8 +16,7 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultAnalyticsEntryPoint : AnalyticsEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext): Node { + override fun createNode(parentNode: Node, buildContext: BuildContext): Node { return parentNode.createNode(buildContext) } } diff --git a/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPointTest.kt b/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPointTest.kt index e87473a447..b5ec819632 100644 --- a/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPointTest.kt +++ b/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPointTest.kt @@ -33,9 +33,7 @@ class DefaultAnalyticsEntryPointTest { ) ) } - val result = with(parentNode) { - entryPoint.createNode(BuildContext.root(null)) - } + val result = entryPoint.createNode(parentNode, BuildContext.root(null)) assertThat(result).isInstanceOf(AnalyticsOptInNode::class.java) } } diff --git a/features/changeroommemberroles/api/src/main/kotlin/io/element/android/features/changeroommemberroles/api/ChangeRoomMemberRolesEntryPoint.kt b/features/changeroommemberroles/api/src/main/kotlin/io/element/android/features/changeroommemberroles/api/ChangeRoomMemberRolesEntryPoint.kt index 2b41a0ae76..7905cdc0ae 100644 --- a/features/changeroommemberroles/api/src/main/kotlin/io/element/android/features/changeroommemberroles/api/ChangeRoomMemberRolesEntryPoint.kt +++ b/features/changeroommemberroles/api/src/main/kotlin/io/element/android/features/changeroommemberroles/api/ChangeRoomMemberRolesEntryPoint.kt @@ -15,8 +15,8 @@ import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.room.JoinedRoom fun interface ChangeRoomMemberRolesEntryPoint : FeatureEntryPoint { - context(parentNode: Node) fun createNode( + parentNode: Node, buildContext: BuildContext, room: JoinedRoom, listType: ChangeRoomMemberRolesListType, diff --git a/features/changeroommemberroles/impl/src/main/kotlin/io/element/android/features/changeroommemberroles/impl/DefaultChangeRoomMemberRolesEntyPoint.kt b/features/changeroommemberroles/impl/src/main/kotlin/io/element/android/features/changeroommemberroles/impl/DefaultChangeRoomMemberRolesEntyPoint.kt index b5aab56ce5..e76333cda7 100644 --- a/features/changeroommemberroles/impl/src/main/kotlin/io/element/android/features/changeroommemberroles/impl/DefaultChangeRoomMemberRolesEntyPoint.kt +++ b/features/changeroommemberroles/impl/src/main/kotlin/io/element/android/features/changeroommemberroles/impl/DefaultChangeRoomMemberRolesEntyPoint.kt @@ -18,8 +18,8 @@ import io.element.android.libraries.matrix.api.room.JoinedRoom @ContributesBinding(SessionScope::class) class DefaultChangeRoomMemberRolesEntyPoint : ChangeRoomMemberRolesEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, room: JoinedRoom, listType: ChangeRoomMemberRolesListType, diff --git a/features/changeroommemberroles/impl/src/test/kotlin/io/element/android/features/changeroommemberroles/impl/DefaultChangeRoomMemberRolesEntyPointTest.kt b/features/changeroommemberroles/impl/src/test/kotlin/io/element/android/features/changeroommemberroles/impl/DefaultChangeRoomMemberRolesEntyPointTest.kt index efc91b45aa..84e53c0cb6 100644 --- a/features/changeroommemberroles/impl/src/test/kotlin/io/element/android/features/changeroommemberroles/impl/DefaultChangeRoomMemberRolesEntyPointTest.kt +++ b/features/changeroommemberroles/impl/src/test/kotlin/io/element/android/features/changeroommemberroles/impl/DefaultChangeRoomMemberRolesEntyPointTest.kt @@ -31,13 +31,12 @@ class DefaultChangeRoomMemberRolesEntyPointTest { } val room = FakeJoinedRoom() val listType = ChangeRoomMemberRolesListType.Admins - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - room = FakeJoinedRoom(), - listType = listType, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + room = FakeJoinedRoom(), + listType = listType, + ) assertThat(result).isInstanceOf(ChangeRoomMemberRolesRootNode::class.java) // Search for the Inputs plugin val input = result.plugins.filterIsInstance().single() diff --git a/features/changeroommemberroles/test/src/main/kotlin/io/element/android/features/changeroommemberroles/test/FakeChangeRoomMemberRolesEntryPoint.kt b/features/changeroommemberroles/test/src/main/kotlin/io/element/android/features/changeroommemberroles/test/FakeChangeRoomMemberRolesEntryPoint.kt index 9508447f25..16b404ab5e 100644 --- a/features/changeroommemberroles/test/src/main/kotlin/io/element/android/features/changeroommemberroles/test/FakeChangeRoomMemberRolesEntryPoint.kt +++ b/features/changeroommemberroles/test/src/main/kotlin/io/element/android/features/changeroommemberroles/test/FakeChangeRoomMemberRolesEntryPoint.kt @@ -15,8 +15,8 @@ import io.element.android.libraries.matrix.api.room.JoinedRoom import io.element.android.tests.testutils.lambda.lambdaError class FakeChangeRoomMemberRolesEntryPoint : ChangeRoomMemberRolesEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, room: JoinedRoom, listType: ChangeRoomMemberRolesListType, diff --git a/features/createroom/api/src/main/kotlin/io/element/android/features/createroom/api/CreateRoomEntryPoint.kt b/features/createroom/api/src/main/kotlin/io/element/android/features/createroom/api/CreateRoomEntryPoint.kt index 1a5a1bef5c..c9763f183d 100644 --- a/features/createroom/api/src/main/kotlin/io/element/android/features/createroom/api/CreateRoomEntryPoint.kt +++ b/features/createroom/api/src/main/kotlin/io/element/android/features/createroom/api/CreateRoomEntryPoint.kt @@ -14,8 +14,11 @@ import io.element.android.libraries.architecture.FeatureEntryPoint import io.element.android.libraries.matrix.api.core.RoomId interface CreateRoomEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun onRoomCreated(roomId: RoomId) diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/DefaultCreateRoomEntryPoint.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/DefaultCreateRoomEntryPoint.kt index ab00e6402f..35b05a548d 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/DefaultCreateRoomEntryPoint.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/DefaultCreateRoomEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.di.SessionScope @ContributesBinding(SessionScope::class) class DefaultCreateRoomEntryPoint : CreateRoomEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: CreateRoomEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: CreateRoomEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(callback)) } } diff --git a/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/DefaultCreateRoomEntryPointTest.kt b/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/DefaultCreateRoomEntryPointTest.kt index 5d415c5d44..4690b5b7f3 100644 --- a/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/DefaultCreateRoomEntryPointTest.kt +++ b/features/createroom/impl/src/test/kotlin/io/element/android/features/createroom/impl/DefaultCreateRoomEntryPointTest.kt @@ -38,12 +38,11 @@ class DefaultCreateRoomEntryPointTest { val callback = object : CreateRoomEntryPoint.Callback { override fun onRoomCreated(roomId: RoomId) = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result.plugins).contains(callback) } } diff --git a/features/createroom/test/src/main/kotlin/io/element/android/features/createroom/api/FakeCreateRoomEntryPoint.kt b/features/createroom/test/src/main/kotlin/io/element/android/features/createroom/api/FakeCreateRoomEntryPoint.kt index 929d22b3de..1f5a217537 100644 --- a/features/createroom/test/src/main/kotlin/io/element/android/features/createroom/api/FakeCreateRoomEntryPoint.kt +++ b/features/createroom/test/src/main/kotlin/io/element/android/features/createroom/api/FakeCreateRoomEntryPoint.kt @@ -12,8 +12,8 @@ import com.bumble.appyx.core.node.Node import io.element.android.tests.testutils.lambda.lambdaError class FakeCreateRoomEntryPoint : CreateRoomEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, callback: CreateRoomEntryPoint.Callback, ): Node = lambdaError() diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPoint.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPoint.kt index 788cc393ed..a7c0d50dbe 100644 --- a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPoint.kt +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPoint.kt @@ -16,8 +16,7 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultAccountDeactivationEntryPoint : AccountDeactivationEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext): Node { + override fun createNode(parentNode: Node, buildContext: BuildContext): Node { return parentNode.createNode(buildContext) } } diff --git a/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPointTest.kt b/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPointTest.kt index 1e8dfe36cc..05ad52efe9 100644 --- a/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPointTest.kt +++ b/features/deactivation/impl/src/test/kotlin/io/element/android/features/logout/impl/DefaultAccountDeactivationEntryPointTest.kt @@ -28,9 +28,7 @@ class DefaultAccountDeactivationEntryPointTest { presenter = createPresenter(), ) } - val result = with(parentNode) { - entryPoint.createNode(BuildContext.root(null)) - } + val result = entryPoint.createNode(parentNode, BuildContext.root(null)) assertThat(result).isInstanceOf(AccountDeactivationNode::class.java) } } diff --git a/features/deactivation/test/src/main/kotlin/io/element/android/features/deactivation/test/FakeAccountDeactivationEntryPoint.kt b/features/deactivation/test/src/main/kotlin/io/element/android/features/deactivation/test/FakeAccountDeactivationEntryPoint.kt index 8c898dfb6b..769f07f1a4 100644 --- a/features/deactivation/test/src/main/kotlin/io/element/android/features/deactivation/test/FakeAccountDeactivationEntryPoint.kt +++ b/features/deactivation/test/src/main/kotlin/io/element/android/features/deactivation/test/FakeAccountDeactivationEntryPoint.kt @@ -13,8 +13,10 @@ import io.element.android.features.deactivation.api.AccountDeactivationEntryPoin import io.element.android.tests.testutils.lambda.lambdaError class FakeAccountDeactivationEntryPoint : AccountDeactivationEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + ): Node { lambdaError() } } diff --git a/features/forward/api/src/main/kotlin/io/element/android/features/forward/api/ForwardEntryPoint.kt b/features/forward/api/src/main/kotlin/io/element/android/features/forward/api/ForwardEntryPoint.kt index 1de948dea3..960c5362c2 100644 --- a/features/forward/api/src/main/kotlin/io/element/android/features/forward/api/ForwardEntryPoint.kt +++ b/features/forward/api/src/main/kotlin/io/element/android/features/forward/api/ForwardEntryPoint.kt @@ -26,6 +26,10 @@ interface ForwardEntryPoint : FeatureEntryPoint { val timelineProvider: TimelineProvider, ) : NodeInputs - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node } diff --git a/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/DefaultForwardEntryPoint.kt b/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/DefaultForwardEntryPoint.kt index 7cf20c017f..ab472fefbc 100644 --- a/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/DefaultForwardEntryPoint.kt +++ b/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/DefaultForwardEntryPoint.kt @@ -16,8 +16,12 @@ import io.element.android.libraries.di.SessionScope @ContributesBinding(SessionScope::class) class DefaultForwardEntryPoint : ForwardEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, params: ForwardEntryPoint.Params, callback: ForwardEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: ForwardEntryPoint.Params, + callback: ForwardEntryPoint.Callback, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf( diff --git a/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesNode.kt b/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesNode.kt index f033e97694..a38f71264b 100644 --- a/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesNode.kt +++ b/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesNode.kt @@ -71,6 +71,7 @@ class ForwardMessagesNode( } return roomSelectEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = RoomSelectEntryPoint.Params(mode = RoomSelectMode.Forward), callback = callback, diff --git a/features/forward/impl/src/test/kotlin/io/element/android/features/forward/impl/DefaultForwardEntryPointTest.kt b/features/forward/impl/src/test/kotlin/io/element/android/features/forward/impl/DefaultForwardEntryPointTest.kt index f344d58063..28c5f668e6 100644 --- a/features/forward/impl/src/test/kotlin/io/element/android/features/forward/impl/DefaultForwardEntryPointTest.kt +++ b/features/forward/impl/src/test/kotlin/io/element/android/features/forward/impl/DefaultForwardEntryPointTest.kt @@ -47,13 +47,12 @@ class DefaultForwardEntryPointTest { eventId = AN_EVENT_ID, timelineProvider = FakeTimelineProvider(), ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(ForwardMessagesNode::class.java) assertThat(result.plugins).contains( ForwardMessagesNode.Inputs( diff --git a/features/forward/test/src/main/kotlin/io/element/android/features/forward/test/FakeForwardEntryPoint.kt b/features/forward/test/src/main/kotlin/io/element/android/features/forward/test/FakeForwardEntryPoint.kt index d42ea203a0..4882461ad0 100644 --- a/features/forward/test/src/main/kotlin/io/element/android/features/forward/test/FakeForwardEntryPoint.kt +++ b/features/forward/test/src/main/kotlin/io/element/android/features/forward/test/FakeForwardEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.features.forward.api.ForwardEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakeForwardEntryPoint : ForwardEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: ForwardEntryPoint.Params, callback: ForwardEntryPoint.Callback, diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/DefaultFtueEntryPoint.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/DefaultFtueEntryPoint.kt index 184e3bb802..c480d329a8 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/DefaultFtueEntryPoint.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/DefaultFtueEntryPoint.kt @@ -16,8 +16,7 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultFtueEntryPoint : FtueEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext): Node { + override fun createNode(parentNode: Node, buildContext: BuildContext): Node { return parentNode.createNode(buildContext) } } diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/FtueFlowNode.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/FtueFlowNode.kt index 779e16f310..7c045f0150 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/FtueFlowNode.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/FtueFlowNode.kt @@ -102,7 +102,7 @@ class FtueFlowNode( createNode(buildContext, listOf(callback)) } NavTarget.AnalyticsOptIn -> { - analyticsEntryPoint.createNode(buildContext) + analyticsEntryPoint.createNode(this, buildContext) } NavTarget.LockScreenSetup -> { val callback = object : LockScreenEntryPoint.Callback { @@ -111,6 +111,7 @@ class FtueFlowNode( } } lockScreenEntryPoint.createNode( + parentNode = this, buildContext = buildContext, navTarget = LockScreenEntryPoint.Target.Setup, callback = callback, diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/FtueSessionVerificationFlowNode.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/FtueSessionVerificationFlowNode.kt index 974c66d243..13da4a0748 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/FtueSessionVerificationFlowNode.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/FtueSessionVerificationFlowNode.kt @@ -104,6 +104,7 @@ class FtueSessionVerificationFlowNode( } is NavTarget.UseAnotherDevice -> { outgoingVerificationEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = OutgoingVerificationEntryPoint.Params( showDeviceVerifiedScreen = true, @@ -127,6 +128,7 @@ class FtueSessionVerificationFlowNode( } is NavTarget.EnterRecoveryKey -> { secureBackupEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = SecureBackupEntryPoint.Params(SecureBackupEntryPoint.InitialTarget.EnterRecoveryKey), callback = secureBackupEntryPointCallback @@ -134,6 +136,7 @@ class FtueSessionVerificationFlowNode( } is NavTarget.ResetIdentity -> { secureBackupEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = SecureBackupEntryPoint.Params(SecureBackupEntryPoint.InitialTarget.ResetIdentity), callback = object : SecureBackupEntryPoint.Callback { diff --git a/features/ftue/impl/src/test/kotlin/io/element/android/features/ftue/impl/DefaultFtueEntryPointTest.kt b/features/ftue/impl/src/test/kotlin/io/element/android/features/ftue/impl/DefaultFtueEntryPointTest.kt index efd787b1c4..b7036ee69b 100644 --- a/features/ftue/impl/src/test/kotlin/io/element/android/features/ftue/impl/DefaultFtueEntryPointTest.kt +++ b/features/ftue/impl/src/test/kotlin/io/element/android/features/ftue/impl/DefaultFtueEntryPointTest.kt @@ -32,14 +32,12 @@ class DefaultFtueEntryPointTest { FtueFlowNode( buildContext = buildContext, plugins = plugins, - analyticsEntryPoint = { _ -> lambdaError() }, + analyticsEntryPoint = { _, _ -> lambdaError() }, defaultFtueService = createDefaultFtueService(), lockScreenEntryPoint = FakeLockScreenEntryPoint(), ) } - val result = with(parentNode) { - entryPoint.createNode(BuildContext.root(null)) - } + val result = entryPoint.createNode(parentNode, BuildContext.root(null)) assertThat(result).isInstanceOf(FtueFlowNode::class.java) } } diff --git a/features/home/api/src/main/kotlin/io/element/android/features/home/api/HomeEntryPoint.kt b/features/home/api/src/main/kotlin/io/element/android/features/home/api/HomeEntryPoint.kt index 101f631cd9..91196dc2ad 100644 --- a/features/home/api/src/main/kotlin/io/element/android/features/home/api/HomeEntryPoint.kt +++ b/features/home/api/src/main/kotlin/io/element/android/features/home/api/HomeEntryPoint.kt @@ -14,8 +14,11 @@ import io.element.android.libraries.architecture.FeatureEntryPoint import io.element.android.libraries.matrix.api.core.RoomId interface HomeEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun navigateToRoom(roomId: RoomId) diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPoint.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPoint.kt index 34c9b5f0d9..73b928ce02 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPoint.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultHomeEntryPoint : HomeEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: HomeEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: HomeEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(callback)) } } diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeFlowNode.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeFlowNode.kt index b0848d85af..5380c51295 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeFlowNode.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeFlowNode.kt @@ -186,11 +186,24 @@ class HomeFlowNode( override fun resolve(navTarget: NavTarget, buildContext: BuildContext): Node { return when (navTarget) { - is NavTarget.ReportRoom -> reportRoomEntryPoint.createNode(buildContext, navTarget.roomId) - is NavTarget.DeclineInviteAndBlockUser -> declineInviteAndBlockUserEntryPoint.createNode(buildContext, navTarget.inviteData) + is NavTarget.ReportRoom -> { + reportRoomEntryPoint.createNode( + parentNode = this, + buildContext = buildContext, + roomId = navTarget.roomId, + ) + } + is NavTarget.DeclineInviteAndBlockUser -> { + declineInviteAndBlockUserEntryPoint.createNode( + parentNode = this, + buildContext = buildContext, + inviteData = navTarget.inviteData, + ) + } is NavTarget.SelectNewOwnersWhenLeavingRoom -> { val room = runBlocking { matrixClient.getJoinedRoom(navTarget.roomId) } ?: error("Room ${navTarget.roomId} not found") changeRoomMemberRolesEntryPoint.createNode( + parentNode = this, buildContext = buildContext, room = room, listType = ChangeRoomMemberRolesListType.SelectNewOwnersWhenLeaving, diff --git a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPointTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPointTest.kt index 47574cd639..489234a827 100644 --- a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPointTest.kt +++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPointTest.kt @@ -34,9 +34,9 @@ class DefaultHomeEntryPointTest { analyticsService = FakeAnalyticsService(), acceptDeclineInviteView = { _, _, _, _ -> lambdaError() }, directLogoutView = { _ -> lambdaError() }, - reportRoomEntryPoint = { _, _ -> lambdaError() }, - declineInviteAndBlockUserEntryPoint = { _, _ -> lambdaError() }, - changeRoomMemberRolesEntryPoint = { _, _, _ -> lambdaError() }, + reportRoomEntryPoint = { _, _, _ -> lambdaError() }, + declineInviteAndBlockUserEntryPoint = { _, _, _ -> lambdaError() }, + changeRoomMemberRolesEntryPoint = { _, _, _, _ -> lambdaError() }, leaveRoomRenderer = { _, _, _ -> lambdaError() }, ) } @@ -49,12 +49,11 @@ class DefaultHomeEntryPointTest { override fun navigateToRoomSettings(roomId: RoomId) = lambdaError() override fun navigateToBugReport() = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result).isInstanceOf(HomeFlowNode::class.java) assertThat(result.plugins).contains(callback) } diff --git a/features/invite/api/src/main/kotlin/io/element/android/features/invite/api/declineandblock/DeclineInviteAndBlockEntryPoint.kt b/features/invite/api/src/main/kotlin/io/element/android/features/invite/api/declineandblock/DeclineInviteAndBlockEntryPoint.kt index 44b88f627b..1bd4b0031b 100644 --- a/features/invite/api/src/main/kotlin/io/element/android/features/invite/api/declineandblock/DeclineInviteAndBlockEntryPoint.kt +++ b/features/invite/api/src/main/kotlin/io/element/android/features/invite/api/declineandblock/DeclineInviteAndBlockEntryPoint.kt @@ -13,6 +13,9 @@ import io.element.android.features.invite.api.InviteData import io.element.android.libraries.architecture.FeatureEntryPoint fun interface DeclineInviteAndBlockEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, inviteData: InviteData): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + inviteData: InviteData, + ): Node } diff --git a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DefaultDeclineAndBlockEntryPoint.kt b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DefaultDeclineAndBlockEntryPoint.kt index a356636cad..00f91356c4 100644 --- a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DefaultDeclineAndBlockEntryPoint.kt +++ b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DefaultDeclineAndBlockEntryPoint.kt @@ -17,8 +17,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultDeclineAndBlockEntryPoint : DeclineInviteAndBlockEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, inviteData: InviteData): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + inviteData: InviteData, + ): Node { val inputs = DeclineAndBlockNode.Inputs(inviteData) return parentNode.createNode(buildContext, plugins = listOf(inputs)) } diff --git a/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/declineandblock/DefaultDeclineAndBlockEntryPointTest.kt b/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/declineandblock/DefaultDeclineAndBlockEntryPointTest.kt index c1919831c0..7cdf208b9a 100644 --- a/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/declineandblock/DefaultDeclineAndBlockEntryPointTest.kt +++ b/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/declineandblock/DefaultDeclineAndBlockEntryPointTest.kt @@ -30,12 +30,11 @@ class DefaultDeclineAndBlockEntryPointTest { ) } val inviteData = anInviteData() - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - inviteData = inviteData - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + inviteData = inviteData + ) assertThat(result).isInstanceOf(DeclineAndBlockNode::class.java) assertThat(result.plugins).contains(DeclineAndBlockNode.Inputs(inviteData)) } diff --git a/features/invite/test/src/main/kotlin/io/element/android/features/invite/test/declineandblock/FakeDeclineInviteAndBlockEntryPoint.kt b/features/invite/test/src/main/kotlin/io/element/android/features/invite/test/declineandblock/FakeDeclineInviteAndBlockEntryPoint.kt index 75d93666c0..5df4ff6c0f 100644 --- a/features/invite/test/src/main/kotlin/io/element/android/features/invite/test/declineandblock/FakeDeclineInviteAndBlockEntryPoint.kt +++ b/features/invite/test/src/main/kotlin/io/element/android/features/invite/test/declineandblock/FakeDeclineInviteAndBlockEntryPoint.kt @@ -14,8 +14,11 @@ import io.element.android.features.invite.api.declineandblock.DeclineInviteAndBl import io.element.android.tests.testutils.lambda.lambdaError class FakeDeclineInviteAndBlockEntryPoint : DeclineInviteAndBlockEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, inviteData: InviteData): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + inviteData: InviteData, + ): Node { lambdaError() } } diff --git a/features/joinroom/api/src/main/kotlin/io/element/android/features/joinroom/api/JoinRoomEntryPoint.kt b/features/joinroom/api/src/main/kotlin/io/element/android/features/joinroom/api/JoinRoomEntryPoint.kt index 7b4f9a8ac0..0860c1053b 100644 --- a/features/joinroom/api/src/main/kotlin/io/element/android/features/joinroom/api/JoinRoomEntryPoint.kt +++ b/features/joinroom/api/src/main/kotlin/io/element/android/features/joinroom/api/JoinRoomEntryPoint.kt @@ -18,8 +18,11 @@ import io.element.android.libraries.matrix.api.core.RoomIdOrAlias import java.util.Optional interface JoinRoomEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, inputs: Inputs): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + inputs: Inputs, + ): Node data class Inputs( val roomId: RoomId, diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/DefaultJoinRoomEntryPoint.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/DefaultJoinRoomEntryPoint.kt index eb1deb4897..0289dc5993 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/DefaultJoinRoomEntryPoint.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/DefaultJoinRoomEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultJoinRoomEntryPoint : JoinRoomEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, inputs: JoinRoomEntryPoint.Inputs): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + inputs: JoinRoomEntryPoint.Inputs, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf(inputs) diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomFlowNode.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomFlowNode.kt index 92cd023bc9..aa1c0d452f 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomFlowNode.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomFlowNode.kt @@ -64,7 +64,11 @@ class JoinRoomFlowNode( override fun resolve(navTarget: NavTarget, buildContext: BuildContext): Node { return when (navTarget) { - is NavTarget.DeclineInviteAndBlockUser -> declineAndBlockEntryPoint.createNode(buildContext, navTarget.inviteData) + is NavTarget.DeclineInviteAndBlockUser -> declineAndBlockEntryPoint.createNode( + parentNode = this, + buildContext = buildContext, + inviteData = navTarget.inviteData, + ) NavTarget.Root -> rootNode(buildContext) } } diff --git a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/DefaultJoinRoomEntryPointTest.kt b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/DefaultJoinRoomEntryPointTest.kt index abde7e9e4e..570323c377 100644 --- a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/DefaultJoinRoomEntryPointTest.kt +++ b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/DefaultJoinRoomEntryPointTest.kt @@ -48,9 +48,11 @@ class DefaultJoinRoomEntryPointTest { serverNames = emptyList(), trigger = JoinedRoom.Trigger.RoomDirectory, ) - val result = with(parentNode) { - entryPoint.createNode(BuildContext.root(null), inputs) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + inputs = inputs, + ) assertThat(result).isInstanceOf(JoinRoomFlowNode::class.java) assertThat(result.plugins).contains(inputs) } diff --git a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/DefaultKnockRequestsListEntryPoint.kt b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/DefaultKnockRequestsListEntryPoint.kt index a3186072f3..c77065324d 100644 --- a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/DefaultKnockRequestsListEntryPoint.kt +++ b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/DefaultKnockRequestsListEntryPoint.kt @@ -16,8 +16,7 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultKnockRequestsListEntryPoint : KnockRequestsListEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext): Node { + override fun createNode(parentNode: Node, buildContext: BuildContext): Node { return parentNode.createNode(buildContext) } } diff --git a/features/knockrequests/impl/src/test/kotlin/io/element/android/features/knockrequests/impl/list/DefaultKnockRequestsListEntryPointTest.kt b/features/knockrequests/impl/src/test/kotlin/io/element/android/features/knockrequests/impl/list/DefaultKnockRequestsListEntryPointTest.kt index 2e6a8426e8..b6b6d766c7 100644 --- a/features/knockrequests/impl/src/test/kotlin/io/element/android/features/knockrequests/impl/list/DefaultKnockRequestsListEntryPointTest.kt +++ b/features/knockrequests/impl/src/test/kotlin/io/element/android/features/knockrequests/impl/list/DefaultKnockRequestsListEntryPointTest.kt @@ -30,9 +30,7 @@ class DefaultKnockRequestsListEntryPointTest { presenter = createKnockRequestsListPresenter(), ) } - val result = with(parentNode) { - entryPoint.createNode(BuildContext.root(null)) - } + val result = entryPoint.createNode(parentNode, BuildContext.root(null)) assertThat(result).isInstanceOf(KnockRequestsListNode::class.java) } } diff --git a/features/knockrequests/test/src/main/kotlin/io/element/android/features/knockrequests/test/FakeKnockRequestsListEntryPoint.kt b/features/knockrequests/test/src/main/kotlin/io/element/android/features/knockrequests/test/FakeKnockRequestsListEntryPoint.kt index 4c7a6ffdc7..bb5ab5045f 100644 --- a/features/knockrequests/test/src/main/kotlin/io/element/android/features/knockrequests/test/FakeKnockRequestsListEntryPoint.kt +++ b/features/knockrequests/test/src/main/kotlin/io/element/android/features/knockrequests/test/FakeKnockRequestsListEntryPoint.kt @@ -13,6 +13,8 @@ import io.element.android.features.knockrequests.api.list.KnockRequestsListEntry import io.element.android.tests.testutils.lambda.lambdaError class FakeKnockRequestsListEntryPoint : KnockRequestsListEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext): Node = lambdaError() + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + ): Node = lambdaError() } diff --git a/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/DefaultOpenSourcesLicensesEntryPoint.kt b/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/DefaultOpenSourcesLicensesEntryPoint.kt index 4839c1a8cf..77c56b6d3a 100644 --- a/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/DefaultOpenSourcesLicensesEntryPoint.kt +++ b/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/DefaultOpenSourcesLicensesEntryPoint.kt @@ -16,8 +16,7 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultOpenSourcesLicensesEntryPoint : OpenSourceLicensesEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext): Node { + override fun createNode(parentNode: Node, buildContext: BuildContext): Node { return parentNode.createNode(buildContext) } } diff --git a/features/licenses/impl/src/test/kotlin/io/element/android/features/licenses/impl/DefaultOpenSourcesLicensesEntryPointTest.kt b/features/licenses/impl/src/test/kotlin/io/element/android/features/licenses/impl/DefaultOpenSourcesLicensesEntryPointTest.kt index 9fbd370c55..3209e28fe6 100644 --- a/features/licenses/impl/src/test/kotlin/io/element/android/features/licenses/impl/DefaultOpenSourcesLicensesEntryPointTest.kt +++ b/features/licenses/impl/src/test/kotlin/io/element/android/features/licenses/impl/DefaultOpenSourcesLicensesEntryPointTest.kt @@ -31,9 +31,7 @@ class DefaultOpenSourcesLicensesEntryPointTest { plugins = plugins, ) } - val result = with(parentNode) { - entryPoint.createNode(BuildContext.root(null)) - } + val result = entryPoint.createNode(parentNode, BuildContext.root(null)) assertThat(result).isInstanceOf(DependenciesFlowNode::class.java) } } diff --git a/features/licenses/test/src/main/kotlin/io/element/android/features/licenses/test/FakeOpenSourceLicensesEntryPoint.kt b/features/licenses/test/src/main/kotlin/io/element/android/features/licenses/test/FakeOpenSourceLicensesEntryPoint.kt index 0ce30a7839..49772dd946 100644 --- a/features/licenses/test/src/main/kotlin/io/element/android/features/licenses/test/FakeOpenSourceLicensesEntryPoint.kt +++ b/features/licenses/test/src/main/kotlin/io/element/android/features/licenses/test/FakeOpenSourceLicensesEntryPoint.kt @@ -13,8 +13,10 @@ import io.element.android.features.licenses.api.OpenSourceLicensesEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakeOpenSourceLicensesEntryPoint : OpenSourceLicensesEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + ): Node { lambdaError() } } diff --git a/features/location/api/src/main/kotlin/io/element/android/features/location/api/SendLocationEntryPoint.kt b/features/location/api/src/main/kotlin/io/element/android/features/location/api/SendLocationEntryPoint.kt index f522992872..afd1b895b5 100644 --- a/features/location/api/src/main/kotlin/io/element/android/features/location/api/SendLocationEntryPoint.kt +++ b/features/location/api/src/main/kotlin/io/element/android/features/location/api/SendLocationEntryPoint.kt @@ -18,8 +18,8 @@ import io.element.android.libraries.matrix.api.timeline.Timeline * Allows a user to share a location message within a room. */ interface SendLocationEntryPoint : FeatureEntryPoint { - context(parentNode: Node) fun createNode( + parentNode: Node, buildContext: BuildContext, timelineMode: Timeline.Mode, ): Node diff --git a/features/location/api/src/main/kotlin/io/element/android/features/location/api/ShowLocationEntryPoint.kt b/features/location/api/src/main/kotlin/io/element/android/features/location/api/ShowLocationEntryPoint.kt index 2bf4ac5871..3c1f3ec288 100644 --- a/features/location/api/src/main/kotlin/io/element/android/features/location/api/ShowLocationEntryPoint.kt +++ b/features/location/api/src/main/kotlin/io/element/android/features/location/api/ShowLocationEntryPoint.kt @@ -13,8 +13,14 @@ import io.element.android.libraries.architecture.FeatureEntryPoint import io.element.android.libraries.architecture.NodeInputs interface ShowLocationEntryPoint : FeatureEntryPoint { - data class Inputs(val location: Location, val description: String?) : NodeInputs + data class Inputs( + val location: Location, + val description: String?, + ) : NodeInputs - context(parentNode: Node) - fun createNode(buildContext: BuildContext, inputs: Inputs): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + inputs: Inputs, + ): Node } diff --git a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/send/DefaultSendLocationEntryPoint.kt b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/send/DefaultSendLocationEntryPoint.kt index 6d14dc06dc..2a8e9309a1 100644 --- a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/send/DefaultSendLocationEntryPoint.kt +++ b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/send/DefaultSendLocationEntryPoint.kt @@ -17,8 +17,8 @@ import io.element.android.libraries.matrix.api.timeline.Timeline @ContributesBinding(AppScope::class) class DefaultSendLocationEntryPoint : SendLocationEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, timelineMode: Timeline.Mode, ): Node { diff --git a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/DefaultShowLocationEntryPoint.kt b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/DefaultShowLocationEntryPoint.kt index ab2c45eb1a..674dea4782 100644 --- a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/DefaultShowLocationEntryPoint.kt +++ b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/DefaultShowLocationEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultShowLocationEntryPoint : ShowLocationEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, inputs: ShowLocationEntryPoint.Inputs): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + inputs: ShowLocationEntryPoint.Inputs, + ): Node { return parentNode.createNode(buildContext, listOf(inputs)) } } diff --git a/features/location/impl/src/test/kotlin/io/element/android/features/location/impl/send/DefaultSendLocationEntryPointTest.kt b/features/location/impl/src/test/kotlin/io/element/android/features/location/impl/send/DefaultSendLocationEntryPointTest.kt index ff3cc57dcf..4cac3df6a2 100644 --- a/features/location/impl/src/test/kotlin/io/element/android/features/location/impl/send/DefaultSendLocationEntryPointTest.kt +++ b/features/location/impl/src/test/kotlin/io/element/android/features/location/impl/send/DefaultSendLocationEntryPointTest.kt @@ -47,12 +47,11 @@ class DefaultSendLocationEntryPointTest { ) } val timelineMode = Timeline.Mode.Live - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - timelineMode = timelineMode, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + timelineMode = timelineMode, + ) assertThat(result).isInstanceOf(SendLocationNode::class.java) assertThat(result.plugins).contains(SendLocationNode.Inputs(timelineMode)) } diff --git a/features/location/impl/src/test/kotlin/io/element/android/features/location/impl/show/DefaultShowLocationEntryPointTest.kt b/features/location/impl/src/test/kotlin/io/element/android/features/location/impl/show/DefaultShowLocationEntryPointTest.kt index b7d7a1be44..8d0d862c9b 100644 --- a/features/location/impl/src/test/kotlin/io/element/android/features/location/impl/show/DefaultShowLocationEntryPointTest.kt +++ b/features/location/impl/src/test/kotlin/io/element/android/features/location/impl/show/DefaultShowLocationEntryPointTest.kt @@ -47,12 +47,11 @@ class DefaultShowLocationEntryPointTest { location = Location(37.4219983, -122.084, 10f), description = "My location", ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - inputs = inputs, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + inputs = inputs, + ) assertThat(result).isInstanceOf(ShowLocationNode::class.java) assertThat(result.plugins).contains(inputs) } diff --git a/features/location/test/src/main/kotlin/io/element/android/features/location/test/FakeSendLocationEntryPoint.kt b/features/location/test/src/main/kotlin/io/element/android/features/location/test/FakeSendLocationEntryPoint.kt index 7bcccef4bb..ba39be70b1 100644 --- a/features/location/test/src/main/kotlin/io/element/android/features/location/test/FakeSendLocationEntryPoint.kt +++ b/features/location/test/src/main/kotlin/io/element/android/features/location/test/FakeSendLocationEntryPoint.kt @@ -14,8 +14,8 @@ import io.element.android.libraries.matrix.api.timeline.Timeline import io.element.android.tests.testutils.lambda.lambdaError class FakeSendLocationEntryPoint : SendLocationEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, timelineMode: Timeline.Mode, ): Node = lambdaError() diff --git a/features/location/test/src/main/kotlin/io/element/android/features/location/test/FakeShowLocationEntryPoint.kt b/features/location/test/src/main/kotlin/io/element/android/features/location/test/FakeShowLocationEntryPoint.kt index 33d269f68d..a1ff742497 100644 --- a/features/location/test/src/main/kotlin/io/element/android/features/location/test/FakeShowLocationEntryPoint.kt +++ b/features/location/test/src/main/kotlin/io/element/android/features/location/test/FakeShowLocationEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.features.location.api.ShowLocationEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakeShowLocationEntryPoint : ShowLocationEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, inputs: ShowLocationEntryPoint.Inputs, ): Node = lambdaError() diff --git a/features/lockscreen/api/src/main/kotlin/io/element/android/features/lockscreen/api/LockScreenEntryPoint.kt b/features/lockscreen/api/src/main/kotlin/io/element/android/features/lockscreen/api/LockScreenEntryPoint.kt index c5c187db83..c777d3a6b5 100644 --- a/features/lockscreen/api/src/main/kotlin/io/element/android/features/lockscreen/api/LockScreenEntryPoint.kt +++ b/features/lockscreen/api/src/main/kotlin/io/element/android/features/lockscreen/api/LockScreenEntryPoint.kt @@ -15,8 +15,12 @@ import com.bumble.appyx.core.plugin.Plugin import io.element.android.libraries.architecture.FeatureEntryPoint interface LockScreenEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, navTarget: Target, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + navTarget: Target, + callback: Callback, + ): Node fun pinUnlockIntent(context: Context): Intent diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/DefaultLockScreenEntryPoint.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/DefaultLockScreenEntryPoint.kt index 8651480c37..39430c5ad1 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/DefaultLockScreenEntryPoint.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/DefaultLockScreenEntryPoint.kt @@ -19,8 +19,8 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultLockScreenEntryPoint : LockScreenEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, navTarget: LockScreenEntryPoint.Target, callback: LockScreenEntryPoint.Callback, diff --git a/features/lockscreen/impl/src/test/kotlin/io/element/android/features/lockscreen/impl/DefaultLockScreenEntryPointTest.kt b/features/lockscreen/impl/src/test/kotlin/io/element/android/features/lockscreen/impl/DefaultLockScreenEntryPointTest.kt index 425f5a70e3..15473fe43c 100644 --- a/features/lockscreen/impl/src/test/kotlin/io/element/android/features/lockscreen/impl/DefaultLockScreenEntryPointTest.kt +++ b/features/lockscreen/impl/src/test/kotlin/io/element/android/features/lockscreen/impl/DefaultLockScreenEntryPointTest.kt @@ -37,13 +37,12 @@ class DefaultLockScreenEntryPointTest { override fun onSetupDone() = lambdaError() } val navTarget = LockScreenEntryPoint.Target.Setup - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - navTarget = navTarget, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + navTarget = navTarget, + callback = callback, + ) assertThat(result).isInstanceOf(LockScreenFlowNode::class.java) assertThat(result.plugins).contains(LockScreenFlowNode.Inputs(LockScreenFlowNode.NavTarget.Setup)) assertThat(result.plugins).contains(callback) @@ -62,13 +61,12 @@ class DefaultLockScreenEntryPointTest { override fun onSetupDone() = lambdaError() } val navTarget = LockScreenEntryPoint.Target.Settings - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - navTarget = navTarget, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + navTarget = navTarget, + callback = callback, + ) assertThat(result).isInstanceOf(LockScreenFlowNode::class.java) assertThat(result.plugins).contains(LockScreenFlowNode.Inputs(LockScreenFlowNode.NavTarget.Settings)) assertThat(result.plugins).contains(callback) diff --git a/features/lockscreen/test/src/main/kotlin/io/element/android/features/lockscreen/test/FakeLockScreenEntryPoint.kt b/features/lockscreen/test/src/main/kotlin/io/element/android/features/lockscreen/test/FakeLockScreenEntryPoint.kt index dc722dd0c8..1c41d9d6ea 100644 --- a/features/lockscreen/test/src/main/kotlin/io/element/android/features/lockscreen/test/FakeLockScreenEntryPoint.kt +++ b/features/lockscreen/test/src/main/kotlin/io/element/android/features/lockscreen/test/FakeLockScreenEntryPoint.kt @@ -15,8 +15,8 @@ import io.element.android.features.lockscreen.api.LockScreenEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakeLockScreenEntryPoint : LockScreenEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, navTarget: LockScreenEntryPoint.Target, callback: LockScreenEntryPoint.Callback, diff --git a/features/login/api/src/main/kotlin/io/element/android/features/login/api/LoginEntryPoint.kt b/features/login/api/src/main/kotlin/io/element/android/features/login/api/LoginEntryPoint.kt index b9f4228162..bebe2f0afc 100644 --- a/features/login/api/src/main/kotlin/io/element/android/features/login/api/LoginEntryPoint.kt +++ b/features/login/api/src/main/kotlin/io/element/android/features/login/api/LoginEntryPoint.kt @@ -22,6 +22,10 @@ interface LoginEntryPoint : FeatureEntryPoint { fun navigateToBugReport() } - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/DefaultLoginEntryPoint.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/DefaultLoginEntryPoint.kt index 327ec5036a..71fbe1598c 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/DefaultLoginEntryPoint.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/DefaultLoginEntryPoint.kt @@ -16,8 +16,12 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultLoginEntryPoint : LoginEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, params: LoginEntryPoint.Params, callback: LoginEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: LoginEntryPoint.Params, + callback: LoginEntryPoint.Callback, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf( diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/DefaultLoginEntryPointTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/DefaultLoginEntryPointTest.kt index 2396831b1d..4a6f6cae22 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/DefaultLoginEntryPointTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/DefaultLoginEntryPointTest.kt @@ -45,13 +45,12 @@ class DefaultLoginEntryPointTest { accountProvider = "ac", loginHint = "lh", ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(LoginFlowNode::class.java) assertThat(result.plugins).contains(LoginFlowNode.Params(params.accountProvider, params.loginHint)) assertThat(result.plugins).contains(callback) diff --git a/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/LogoutEntryPoint.kt b/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/LogoutEntryPoint.kt index 207f92a489..cf7deaf334 100644 --- a/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/LogoutEntryPoint.kt +++ b/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/LogoutEntryPoint.kt @@ -13,8 +13,11 @@ import com.bumble.appyx.core.plugin.Plugin import io.element.android.libraries.architecture.FeatureEntryPoint interface LogoutEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun navigateToSecureBackup() diff --git a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutEntryPoint.kt b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutEntryPoint.kt index 42c11cf0d6..844c5ad0ad 100644 --- a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutEntryPoint.kt +++ b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultLogoutEntryPoint : LogoutEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: LogoutEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: LogoutEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(callback)) } } diff --git a/features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/DefaultLogoutEntryPointTest.kt b/features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/DefaultLogoutEntryPointTest.kt index b319a30e44..dd4b3b36fc 100644 --- a/features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/DefaultLogoutEntryPointTest.kt +++ b/features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/DefaultLogoutEntryPointTest.kt @@ -34,12 +34,11 @@ class DefaultLogoutEntryPointTest { val callback = object : LogoutEntryPoint.Callback { override fun navigateToSecureBackup() = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result).isInstanceOf(LogoutNode::class.java) assertThat(result.plugins).contains(callback) } diff --git a/features/logout/test/src/main/kotlin/io/element/android/features/logout/test/FakeLogoutEntryPoint.kt b/features/logout/test/src/main/kotlin/io/element/android/features/logout/test/FakeLogoutEntryPoint.kt index 4273bf7169..953fe87587 100644 --- a/features/logout/test/src/main/kotlin/io/element/android/features/logout/test/FakeLogoutEntryPoint.kt +++ b/features/logout/test/src/main/kotlin/io/element/android/features/logout/test/FakeLogoutEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.features.logout.api.LogoutEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakeLogoutEntryPoint : LogoutEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, callback: LogoutEntryPoint.Callback, ): Node = lambdaError() diff --git a/features/messages/api/src/main/kotlin/io/element/android/features/messages/api/MessagesEntryPoint.kt b/features/messages/api/src/main/kotlin/io/element/android/features/messages/api/MessagesEntryPoint.kt index 6f883bb683..54df2b7fec 100644 --- a/features/messages/api/src/main/kotlin/io/element/android/features/messages/api/MessagesEntryPoint.kt +++ b/features/messages/api/src/main/kotlin/io/element/android/features/messages/api/MessagesEntryPoint.kt @@ -41,8 +41,12 @@ interface MessagesEntryPoint : FeatureEntryPoint { data class Params(val initialTarget: InitialTarget) : NodeInputs - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node } interface MessagesEntryPointNode { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPoint.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPoint.kt index 90784912e6..1b20580b62 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPoint.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPoint.kt @@ -16,8 +16,12 @@ import io.element.android.libraries.di.SessionScope @ContributesBinding(SessionScope::class) class DefaultMessagesEntryPoint : MessagesEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, params: MessagesEntryPoint.Params, callback: MessagesEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: MessagesEntryPoint.Params, + callback: MessagesEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(params, callback)) } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesFlowNode.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesFlowNode.kt index 0c700d5695..7d468354d8 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesFlowNode.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesFlowNode.kt @@ -321,6 +321,7 @@ class MessagesFlowNode( } } mediaViewerEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = callback @@ -336,7 +337,11 @@ class MessagesFlowNode( } is NavTarget.LocationViewer -> { val inputs = ShowLocationEntryPoint.Inputs(navTarget.location, navTarget.description) - showLocationEntryPoint.createNode(buildContext, inputs) + showLocationEntryPoint.createNode( + parentNode = this, + buildContext = buildContext, + inputs = inputs, + ) } is NavTarget.EventDebugInfo -> { val inputs = EventDebugInfoNode.Inputs(navTarget.eventId, navTarget.debugInfo) @@ -358,6 +363,7 @@ class MessagesFlowNode( } } forwardEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = callback, @@ -369,12 +375,14 @@ class MessagesFlowNode( } is NavTarget.SendLocation -> { sendLocationEntryPoint.createNode( + parentNode = this, buildContext = buildContext, timelineMode = navTarget.timelineMode, ) } is NavTarget.CreatePoll -> { createPollEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = CreatePollEntryPoint.Params( timelineMode = navTarget.timelineMode, @@ -384,6 +392,7 @@ class MessagesFlowNode( } is NavTarget.EditPoll -> { createPollEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = CreatePollEntryPoint.Params( timelineMode = navTarget.timelineMode, @@ -423,7 +432,7 @@ class MessagesFlowNode( createNode(buildContext, plugins = listOf(callback)) } NavTarget.KnockRequestsList -> { - knockRequestsListEntryPoint.createNode(buildContext) + knockRequestsListEntryPoint.createNode(this, buildContext) } is NavTarget.Thread -> { val inputs = ThreadedMessagesNode.Inputs( diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPointTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPointTest.kt index 2c8cb88875..880f89f3bc 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPointTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPointTest.kt @@ -95,13 +95,12 @@ class DefaultMessagesEntryPointTest { } val initialTarget = MessagesEntryPoint.InitialTarget.Messages(focusedEventId = AN_EVENT_ID) val params = MessagesEntryPoint.Params(initialTarget) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(MessagesFlowNode::class.java) assertThat(result.plugins).contains(MessagesEntryPoint.Params(initialTarget)) assertThat(result.plugins).contains(callback) diff --git a/features/messages/test/src/main/kotlin/io/element/android/features/messages/test/FakeMessagesEntryPoint.kt b/features/messages/test/src/main/kotlin/io/element/android/features/messages/test/FakeMessagesEntryPoint.kt index 91258521de..8cd8e6dc89 100644 --- a/features/messages/test/src/main/kotlin/io/element/android/features/messages/test/FakeMessagesEntryPoint.kt +++ b/features/messages/test/src/main/kotlin/io/element/android/features/messages/test/FakeMessagesEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.features.messages.api.MessagesEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakeMessagesEntryPoint : MessagesEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: MessagesEntryPoint.Params, callback: MessagesEntryPoint.Callback, diff --git a/features/poll/api/src/main/kotlin/io/element/android/features/poll/api/create/CreatePollEntryPoint.kt b/features/poll/api/src/main/kotlin/io/element/android/features/poll/api/create/CreatePollEntryPoint.kt index 202ff9c7c1..f1f4ee4f5c 100644 --- a/features/poll/api/src/main/kotlin/io/element/android/features/poll/api/create/CreatePollEntryPoint.kt +++ b/features/poll/api/src/main/kotlin/io/element/android/features/poll/api/create/CreatePollEntryPoint.kt @@ -18,6 +18,9 @@ interface CreatePollEntryPoint : FeatureEntryPoint { val mode: CreatePollMode, ) - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + ): Node } diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/DefaultCreatePollEntryPoint.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/DefaultCreatePollEntryPoint.kt index 5d3a6d66cb..1e41cdc59e 100644 --- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/DefaultCreatePollEntryPoint.kt +++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/DefaultCreatePollEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultCreatePollEntryPoint : CreatePollEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, params: CreatePollEntryPoint.Params): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: CreatePollEntryPoint.Params, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf(CreatePollNode.Inputs(timelineMode = params.timelineMode, mode = params.mode)) diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/DefaultPollHistoryEntryPoint.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/DefaultPollHistoryEntryPoint.kt index c309a5324e..7f867def0a 100644 --- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/DefaultPollHistoryEntryPoint.kt +++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/DefaultPollHistoryEntryPoint.kt @@ -16,8 +16,7 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultPollHistoryEntryPoint : PollHistoryEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext): Node { + override fun createNode(parentNode: Node, buildContext: BuildContext): Node { return parentNode.createNode(buildContext) } } diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryFlowNode.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryFlowNode.kt index 56ae72e58f..6b43a06d01 100644 --- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryFlowNode.kt +++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryFlowNode.kt @@ -54,6 +54,7 @@ class PollHistoryFlowNode( return when (navTarget) { is NavTarget.EditPoll -> { createPollEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = CreatePollEntryPoint.Params( timelineMode = Timeline.Mode.Live, diff --git a/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/create/DefaultCreatePollEntryPointTest.kt b/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/create/DefaultCreatePollEntryPointTest.kt index 14c41f50cd..464fae98a0 100644 --- a/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/create/DefaultCreatePollEntryPointTest.kt +++ b/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/create/DefaultCreatePollEntryPointTest.kt @@ -53,12 +53,11 @@ class DefaultCreatePollEntryPointTest { timelineMode = Timeline.Mode.Live, mode = CreatePollMode.NewPoll, ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + ) assertThat(result).isInstanceOf(CreatePollNode::class.java) assertThat(result.plugins).contains(CreatePollNode.Inputs(timelineMode = params.timelineMode, mode = params.mode)) } diff --git a/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/history/DefaultPollHistoryEntryPointTest.kt b/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/history/DefaultPollHistoryEntryPointTest.kt index 41c99d1cd1..dfee9a7320 100644 --- a/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/history/DefaultPollHistoryEntryPointTest.kt +++ b/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/history/DefaultPollHistoryEntryPointTest.kt @@ -34,9 +34,7 @@ class DefaultPollHistoryEntryPointTest { createPollEntryPoint = FakeCreatePollEntryPoint(), ) } - val result = with(parentNode) { - entryPoint.createNode(BuildContext.root(null)) - } + val result = entryPoint.createNode(parentNode, BuildContext.root(null)) assertThat(result).isInstanceOf(PollHistoryFlowNode::class.java) } } diff --git a/features/poll/test/src/main/kotlin/io/element/android/features/poll/test/create/FakeCreatePollEntryPoint.kt b/features/poll/test/src/main/kotlin/io/element/android/features/poll/test/create/FakeCreatePollEntryPoint.kt index 3563c341f4..96a63225b2 100644 --- a/features/poll/test/src/main/kotlin/io/element/android/features/poll/test/create/FakeCreatePollEntryPoint.kt +++ b/features/poll/test/src/main/kotlin/io/element/android/features/poll/test/create/FakeCreatePollEntryPoint.kt @@ -14,8 +14,8 @@ import io.element.android.features.poll.api.create.CreatePollEntryPoint.Params import io.element.android.tests.testutils.lambda.lambdaError class FakeCreatePollEntryPoint : CreatePollEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: Params, ): Node = lambdaError() diff --git a/features/poll/test/src/main/kotlin/io/element/android/features/poll/test/history/FakePollHistoryEntryPoint.kt b/features/poll/test/src/main/kotlin/io/element/android/features/poll/test/history/FakePollHistoryEntryPoint.kt index 5e20159fd8..725b5dc0ee 100644 --- a/features/poll/test/src/main/kotlin/io/element/android/features/poll/test/history/FakePollHistoryEntryPoint.kt +++ b/features/poll/test/src/main/kotlin/io/element/android/features/poll/test/history/FakePollHistoryEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.features.poll.api.history.PollHistoryEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakePollHistoryEntryPoint : PollHistoryEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, ): Node = lambdaError() } diff --git a/features/preferences/api/src/main/kotlin/io/element/android/features/preferences/api/PreferencesEntryPoint.kt b/features/preferences/api/src/main/kotlin/io/element/android/features/preferences/api/PreferencesEntryPoint.kt index af92b58cbb..5bb8a68a99 100644 --- a/features/preferences/api/src/main/kotlin/io/element/android/features/preferences/api/PreferencesEntryPoint.kt +++ b/features/preferences/api/src/main/kotlin/io/element/android/features/preferences/api/PreferencesEntryPoint.kt @@ -31,8 +31,12 @@ interface PreferencesEntryPoint : FeatureEntryPoint { data class Params(val initialElement: InitialTarget) : NodeInputs - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node interface Callback : Plugin { fun navigateToAddAccount() diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/DefaultPreferencesEntryPoint.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/DefaultPreferencesEntryPoint.kt index 338a3ff434..ffc9a2b798 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/DefaultPreferencesEntryPoint.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/DefaultPreferencesEntryPoint.kt @@ -16,8 +16,8 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultPreferencesEntryPoint : PreferencesEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: PreferencesEntryPoint.Params, callback: PreferencesEntryPoint.Callback, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/PreferencesFlowNode.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/PreferencesFlowNode.kt index ba5313dd7e..c8520c4f27 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/PreferencesFlowNode.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/PreferencesFlowNode.kt @@ -216,6 +216,7 @@ class PreferencesFlowNode( } NavTarget.TroubleshootNotifications -> { notificationTroubleShootEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = object : NotificationTroubleShootEntryPoint.Callback { override fun onDone() { @@ -234,6 +235,7 @@ class PreferencesFlowNode( } NavTarget.PushHistory -> { pushHistoryEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = object : PushHistoryEntryPoint.Callback { override fun onDone() { @@ -268,6 +270,7 @@ class PreferencesFlowNode( } NavTarget.LockScreenSettings -> { lockScreenEntryPoint.createNode( + parentNode = this, buildContext = buildContext, navTarget = LockScreenEntryPoint.Target.Settings, callback = object : LockScreenEntryPoint.Callback { @@ -287,15 +290,16 @@ class PreferencesFlowNode( } } logoutEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = callBack, ) } is NavTarget.OssLicenses -> { - openSourceLicensesEntryPoint.createNode(buildContext) + openSourceLicensesEntryPoint.createNode(this, buildContext) } NavTarget.AccountDeactivation -> { - accountDeactivationEntryPoint.createNode(buildContext) + accountDeactivationEntryPoint.createNode(this, buildContext) } } } diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/DefaultPreferencesEntryPointTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/DefaultPreferencesEntryPointTest.kt index f46a66248e..86ff65677c 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/DefaultPreferencesEntryPointTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/DefaultPreferencesEntryPointTest.kt @@ -57,13 +57,12 @@ class DefaultPreferencesEntryPointTest { val params = PreferencesEntryPoint.Params( initialElement = PreferencesEntryPoint.InitialTarget.NotificationSettings, ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(PreferencesFlowNode::class.java) assertThat(result.plugins).contains(params) assertThat(result.plugins).contains(callback) diff --git a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/bugreport/BugReportEntryPoint.kt b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/bugreport/BugReportEntryPoint.kt index a8fbf56b75..df6de4746e 100644 --- a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/bugreport/BugReportEntryPoint.kt +++ b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/bugreport/BugReportEntryPoint.kt @@ -13,8 +13,11 @@ import com.bumble.appyx.core.plugin.Plugin import io.element.android.libraries.architecture.FeatureEntryPoint interface BugReportEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun onDone() diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportFlowNode.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportFlowNode.kt index af0c06054f..8749199fd1 100644 --- a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportFlowNode.kt +++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportFlowNode.kt @@ -78,6 +78,7 @@ class BugReportFlowNode( rootPath = navTarget.rootPath, ) viewFolderEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = callback, diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/DefaultBugReportEntryPoint.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/DefaultBugReportEntryPoint.kt index ffdaf41167..e094c62244 100644 --- a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/DefaultBugReportEntryPoint.kt +++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/DefaultBugReportEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultBugReportEntryPoint : BugReportEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: BugReportEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: BugReportEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(callback)) } } diff --git a/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/DefaultBugReportEntryPointTest.kt b/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/DefaultBugReportEntryPointTest.kt index da3e2e8982..fb59100c43 100644 --- a/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/DefaultBugReportEntryPointTest.kt +++ b/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/DefaultBugReportEntryPointTest.kt @@ -39,12 +39,11 @@ class DefaultBugReportEntryPointTest { val callback = object : BugReportEntryPoint.Callback { override fun onDone() = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result).isInstanceOf(BugReportFlowNode::class.java) assertThat(result.plugins).contains(callback) } diff --git a/features/reportroom/api/src/main/kotlin/io/element/android/features/reportroom/api/ReportRoomEntryPoint.kt b/features/reportroom/api/src/main/kotlin/io/element/android/features/reportroom/api/ReportRoomEntryPoint.kt index 27d8fea348..28536d9412 100644 --- a/features/reportroom/api/src/main/kotlin/io/element/android/features/reportroom/api/ReportRoomEntryPoint.kt +++ b/features/reportroom/api/src/main/kotlin/io/element/android/features/reportroom/api/ReportRoomEntryPoint.kt @@ -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 } diff --git a/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/DefaultReportRoomEntryPoint.kt b/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/DefaultReportRoomEntryPoint.kt index a97f93d79e..7babf80e39 100644 --- a/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/DefaultReportRoomEntryPoint.kt +++ b/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/DefaultReportRoomEntryPoint.kt @@ -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(buildContext, plugins = listOf(ReportRoomNode.Inputs(roomId))) } } diff --git a/features/reportroom/impl/src/test/kotlin/io/element/android/features/reportroom/impl/DefaultReportRoomEntryPointTest.kt b/features/reportroom/impl/src/test/kotlin/io/element/android/features/reportroom/impl/DefaultReportRoomEntryPointTest.kt index 16cd8d298f..3de8a6c926 100644 --- a/features/reportroom/impl/src/test/kotlin/io/element/android/features/reportroom/impl/DefaultReportRoomEntryPointTest.kt +++ b/features/reportroom/impl/src/test/kotlin/io/element/android/features/reportroom/impl/DefaultReportRoomEntryPointTest.kt @@ -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)) } diff --git a/features/reportroom/test/src/main/kotlin/io/element/android/features/reportroom/test/FakeReportRoomEntryPoint.kt b/features/reportroom/test/src/main/kotlin/io/element/android/features/reportroom/test/FakeReportRoomEntryPoint.kt index 0129686ff0..0ff0a3ed89 100644 --- a/features/reportroom/test/src/main/kotlin/io/element/android/features/reportroom/test/FakeReportRoomEntryPoint.kt +++ b/features/reportroom/test/src/main/kotlin/io/element/android/features/reportroom/test/FakeReportRoomEntryPoint.kt @@ -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() } } diff --git a/features/roomaliasresolver/api/src/main/kotlin/io/element/android/features/roomaliasesolver/api/RoomAliasResolverEntryPoint.kt b/features/roomaliasresolver/api/src/main/kotlin/io/element/android/features/roomaliasesolver/api/RoomAliasResolverEntryPoint.kt index 067eed7d65..1bdde018e0 100644 --- a/features/roomaliasresolver/api/src/main/kotlin/io/element/android/features/roomaliasesolver/api/RoomAliasResolverEntryPoint.kt +++ b/features/roomaliasresolver/api/src/main/kotlin/io/element/android/features/roomaliasesolver/api/RoomAliasResolverEntryPoint.kt @@ -16,8 +16,12 @@ import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias interface RoomAliasResolverEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node interface Callback : Plugin { fun onAliasResolved(data: ResolvedRoomAlias) diff --git a/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/DefaultRoomAliasResolverEntryPoint.kt b/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/DefaultRoomAliasResolverEntryPoint.kt index 405317d303..b6e4fe6716 100644 --- a/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/DefaultRoomAliasResolverEntryPoint.kt +++ b/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/DefaultRoomAliasResolverEntryPoint.kt @@ -16,8 +16,8 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultRoomAliasResolverEntryPoint : RoomAliasResolverEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: RoomAliasResolverEntryPoint.Params, callback: RoomAliasResolverEntryPoint.Callback, diff --git a/features/roomaliasresolver/impl/src/test/kotlin/io/element/android/features/roomaliasresolver/impl/DefaultRoomAliasResolverEntryPointTest.kt b/features/roomaliasresolver/impl/src/test/kotlin/io/element/android/features/roomaliasresolver/impl/DefaultRoomAliasResolverEntryPointTest.kt index f7cc1d57c6..6e3dbb2ba8 100644 --- a/features/roomaliasresolver/impl/src/test/kotlin/io/element/android/features/roomaliasresolver/impl/DefaultRoomAliasResolverEntryPointTest.kt +++ b/features/roomaliasresolver/impl/src/test/kotlin/io/element/android/features/roomaliasresolver/impl/DefaultRoomAliasResolverEntryPointTest.kt @@ -43,13 +43,12 @@ class DefaultRoomAliasResolverEntryPointTest { val params = RoomAliasResolverEntryPoint.Params( roomAlias = A_ROOM_ALIAS ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(RoomAliasResolverNode::class.java) assertThat(result.plugins).contains(params) assertThat(result.plugins).contains(callback) diff --git a/features/roomdetails/api/src/main/kotlin/io/element/android/features/roomdetails/api/RoomDetailsEntryPoint.kt b/features/roomdetails/api/src/main/kotlin/io/element/android/features/roomdetails/api/RoomDetailsEntryPoint.kt index ce03aca20a..3a690ddea6 100644 --- a/features/roomdetails/api/src/main/kotlin/io/element/android/features/roomdetails/api/RoomDetailsEntryPoint.kt +++ b/features/roomdetails/api/src/main/kotlin/io/element/android/features/roomdetails/api/RoomDetailsEntryPoint.kt @@ -43,6 +43,10 @@ interface RoomDetailsEntryPoint : FeatureEntryPoint { fun startForwardEventFlow(eventId: EventId) } - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node } diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPoint.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPoint.kt index 4f2fb1d741..8066cc70f5 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPoint.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPoint.kt @@ -18,8 +18,8 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultRoomDetailsEntryPoint : RoomDetailsEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: RoomDetailsEntryPoint.Params, callback: RoomDetailsEntryPoint.Callback, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsFlowNode.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsFlowNode.kt index f5e1307d72..d31adaae8d 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsFlowNode.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsFlowNode.kt @@ -308,13 +308,14 @@ class RoomDetailsFlowNode( avatarUrl = navTarget.avatarUrl, ) mediaViewerEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = callback, ) } is NavTarget.PollHistory -> { - pollHistoryEntryPoint.createNode(buildContext) + pollHistoryEntryPoint.createNode(this, buildContext) } is NavTarget.MediaGallery -> { val callback = object : MediaGalleryEntryPoint.Callback { @@ -335,6 +336,7 @@ class RoomDetailsFlowNode( } } mediaGalleryEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = callback, ) @@ -365,13 +367,14 @@ class RoomDetailsFlowNode( } } return messagesEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = callback, ) } NavTarget.KnockRequestsList -> { - knockRequestsListEntryPoint.createNode(buildContext) + knockRequestsListEntryPoint.createNode(this, buildContext) } NavTarget.SecurityAndPrivacy -> { createNode(buildContext) @@ -382,6 +385,7 @@ class RoomDetailsFlowNode( verificationRequest = VerificationRequest.Outgoing.User(userId = navTarget.userId) ) outgoingVerificationEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = object : OutgoingVerificationEntryPoint.Callback { @@ -400,11 +404,16 @@ class RoomDetailsFlowNode( ) } is NavTarget.ReportRoom -> { - reportRoomEntryPoint.createNode(buildContext, room.roomId) + reportRoomEntryPoint.createNode( + parentNode = this, + buildContext = buildContext, + roomId = room.roomId, + ) } is NavTarget.SelectNewOwnersWhenLeaving -> { changeRoomMemberRolesEntryPoint.createNode( + parentNode = this, buildContext = buildContext, room = room, listType = ChangeRoomMemberRolesListType.SelectNewOwnersWhenLeaving, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsFlowNode.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsFlowNode.kt index c923c57f50..b2b7d46780 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsFlowNode.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsFlowNode.kt @@ -102,6 +102,7 @@ class RolesAndPermissionsFlowNode( } is NavTarget.AdminList -> { changeRoomMemberRolesEntryPoint.createNode( + parentNode = this, buildContext = buildContext, room = joinedRoom, listType = ChangeRoomMemberRolesListType.Admins, @@ -109,6 +110,7 @@ class RolesAndPermissionsFlowNode( } is NavTarget.ModeratorList -> { changeRoomMemberRolesEntryPoint.createNode( + parentNode = this, buildContext = buildContext, room = joinedRoom, listType = ChangeRoomMemberRolesListType.Moderators, diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPointTest.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPointTest.kt index 0e542a96d6..ebe92332e8 100644 --- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPointTest.kt +++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPointTest.kt @@ -69,13 +69,12 @@ class DefaultRoomDetailsEntryPointTest { val params = RoomDetailsEntryPoint.Params( initialElement = RoomDetailsEntryPoint.InitialTarget.RoomDetails, ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(RoomDetailsFlowNode::class.java) assertThat(result.plugins).contains(params) assertThat(result.plugins).contains(callback) diff --git a/features/roomdirectory/api/src/main/kotlin/io/element/android/features/roomdirectory/api/RoomDirectoryEntryPoint.kt b/features/roomdirectory/api/src/main/kotlin/io/element/android/features/roomdirectory/api/RoomDirectoryEntryPoint.kt index d290287c2c..c3cb8a199b 100644 --- a/features/roomdirectory/api/src/main/kotlin/io/element/android/features/roomdirectory/api/RoomDirectoryEntryPoint.kt +++ b/features/roomdirectory/api/src/main/kotlin/io/element/android/features/roomdirectory/api/RoomDirectoryEntryPoint.kt @@ -13,8 +13,11 @@ import com.bumble.appyx.core.plugin.Plugin import io.element.android.libraries.architecture.FeatureEntryPoint interface RoomDirectoryEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun navigateToRoom(roomDescription: RoomDescription) diff --git a/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/DefaultRoomDirectoryEntryPoint.kt b/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/DefaultRoomDirectoryEntryPoint.kt index 55804d3f68..48211d7f59 100644 --- a/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/DefaultRoomDirectoryEntryPoint.kt +++ b/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/DefaultRoomDirectoryEntryPoint.kt @@ -17,8 +17,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultRoomDirectoryEntryPoint : RoomDirectoryEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: RoomDirectoryEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: RoomDirectoryEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(callback)) } } diff --git a/features/roomdirectory/impl/src/test/kotlin/io/element/android/features/roomdirectory/impl/DefaultRoomDirectoryEntryPointTest.kt b/features/roomdirectory/impl/src/test/kotlin/io/element/android/features/roomdirectory/impl/DefaultRoomDirectoryEntryPointTest.kt index 332c89b2ae..24205d6681 100644 --- a/features/roomdirectory/impl/src/test/kotlin/io/element/android/features/roomdirectory/impl/DefaultRoomDirectoryEntryPointTest.kt +++ b/features/roomdirectory/impl/src/test/kotlin/io/element/android/features/roomdirectory/impl/DefaultRoomDirectoryEntryPointTest.kt @@ -37,12 +37,11 @@ class DefaultRoomDirectoryEntryPointTest { val callback = object : RoomDirectoryEntryPoint.Callback { override fun navigateToRoom(roomDescription: RoomDescription) = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result).isInstanceOf(RoomDirectoryNode::class.java) assertThat(result.plugins).contains(callback) } diff --git a/features/securebackup/api/src/main/kotlin/io/element/android/features/securebackup/api/SecureBackupEntryPoint.kt b/features/securebackup/api/src/main/kotlin/io/element/android/features/securebackup/api/SecureBackupEntryPoint.kt index dbaa319034..cb1af18f24 100644 --- a/features/securebackup/api/src/main/kotlin/io/element/android/features/securebackup/api/SecureBackupEntryPoint.kt +++ b/features/securebackup/api/src/main/kotlin/io/element/android/features/securebackup/api/SecureBackupEntryPoint.kt @@ -32,8 +32,12 @@ interface SecureBackupEntryPoint : FeatureEntryPoint { data class Params(val initialElement: InitialTarget) : NodeInputs - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node interface Callback : Plugin { fun onDone() diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/DefaultSecureBackupEntryPoint.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/DefaultSecureBackupEntryPoint.kt index 49ea66dc79..b2c533b53b 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/DefaultSecureBackupEntryPoint.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/DefaultSecureBackupEntryPoint.kt @@ -16,8 +16,8 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultSecureBackupEntryPoint : SecureBackupEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: SecureBackupEntryPoint.Params, callback: SecureBackupEntryPoint.Callback, diff --git a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/DefaultSecureBackupEntryPointTest.kt b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/DefaultSecureBackupEntryPointTest.kt index 7a4c096bfc..04d0030753 100644 --- a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/DefaultSecureBackupEntryPointTest.kt +++ b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/DefaultSecureBackupEntryPointTest.kt @@ -37,13 +37,12 @@ class DefaultSecureBackupEntryPointTest { override fun onDone() = lambdaError() } val params = SecureBackupEntryPoint.Params(SecureBackupEntryPoint.InitialTarget.ResetIdentity) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(SecureBackupFlowNode::class.java) assertThat(result.plugins).contains(params) assertThat(result.plugins).contains(callback) diff --git a/features/share/api/src/main/kotlin/io/element/android/features/share/api/ShareEntryPoint.kt b/features/share/api/src/main/kotlin/io/element/android/features/share/api/ShareEntryPoint.kt index fadd584355..baab6d3d5c 100644 --- a/features/share/api/src/main/kotlin/io/element/android/features/share/api/ShareEntryPoint.kt +++ b/features/share/api/src/main/kotlin/io/element/android/features/share/api/ShareEntryPoint.kt @@ -17,8 +17,12 @@ import io.element.android.libraries.matrix.api.core.RoomId interface ShareEntryPoint : FeatureEntryPoint { data class Params(val intent: Intent) - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node interface Callback : Plugin { fun onDone(roomIds: List) diff --git a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/DefaultShareEntryPoint.kt b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/DefaultShareEntryPoint.kt index 6df01558e5..a283bf9d78 100644 --- a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/DefaultShareEntryPoint.kt +++ b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/DefaultShareEntryPoint.kt @@ -16,8 +16,12 @@ import io.element.android.libraries.di.SessionScope @ContributesBinding(SessionScope::class) class DefaultShareEntryPoint : ShareEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, params: ShareEntryPoint.Params, callback: ShareEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: ShareEntryPoint.Params, + callback: ShareEntryPoint.Callback, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf( diff --git a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareNode.kt b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareNode.kt index b3ce268d6c..977211ca05 100644 --- a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareNode.kt +++ b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareNode.kt @@ -67,6 +67,7 @@ class ShareNode( } return roomSelectEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = RoomSelectEntryPoint.Params(mode = RoomSelectMode.Share), callback = callback, diff --git a/features/share/impl/src/test/kotlin/io/element/android/features/share/impl/DefaultShareEntryPointTest.kt b/features/share/impl/src/test/kotlin/io/element/android/features/share/impl/DefaultShareEntryPointTest.kt index bdbeb37d40..e3d39cf47a 100644 --- a/features/share/impl/src/test/kotlin/io/element/android/features/share/impl/DefaultShareEntryPointTest.kt +++ b/features/share/impl/src/test/kotlin/io/element/android/features/share/impl/DefaultShareEntryPointTest.kt @@ -45,13 +45,12 @@ class DefaultShareEntryPointTest { val params = ShareEntryPoint.Params( intent = Intent(), ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(ShareNode::class.java) assertThat(result.plugins).contains(ShareNode.Inputs(params.intent)) assertThat(result.plugins).contains(callback) diff --git a/features/signedout/api/src/main/kotlin/io/element/android/features/signedout/api/SignedOutEntryPoint.kt b/features/signedout/api/src/main/kotlin/io/element/android/features/signedout/api/SignedOutEntryPoint.kt index 442ad1ef7d..e0af9f491f 100644 --- a/features/signedout/api/src/main/kotlin/io/element/android/features/signedout/api/SignedOutEntryPoint.kt +++ b/features/signedout/api/src/main/kotlin/io/element/android/features/signedout/api/SignedOutEntryPoint.kt @@ -17,6 +17,9 @@ interface SignedOutEntryPoint : FeatureEntryPoint { val sessionId: SessionId, ) - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + ): Node } diff --git a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/DefaultSignedOutEntryPoint.kt b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/DefaultSignedOutEntryPoint.kt index d25dbf26ad..7026f0081b 100644 --- a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/DefaultSignedOutEntryPoint.kt +++ b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/DefaultSignedOutEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultSignedOutEntryPoint : SignedOutEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, params: SignedOutEntryPoint.Params): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: SignedOutEntryPoint.Params, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf(SignedOutNode.Inputs(params.sessionId)) diff --git a/features/signedout/impl/src/test/kotlin/io/element/android/features/signedout/impl/DefaultSignedOutEntryPointTest.kt b/features/signedout/impl/src/test/kotlin/io/element/android/features/signedout/impl/DefaultSignedOutEntryPointTest.kt index b6ef121c47..64c48d9a5f 100644 --- a/features/signedout/impl/src/test/kotlin/io/element/android/features/signedout/impl/DefaultSignedOutEntryPointTest.kt +++ b/features/signedout/impl/src/test/kotlin/io/element/android/features/signedout/impl/DefaultSignedOutEntryPointTest.kt @@ -34,12 +34,11 @@ class DefaultSignedOutEntryPointTest { ) } val params = SignedOutEntryPoint.Params(A_SESSION_ID) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + ) assertThat(result).isInstanceOf(SignedOutNode::class.java) assertThat(result.plugins).contains(SignedOutNode.Inputs(params.sessionId)) } diff --git a/features/space/api/src/main/kotlin/io/element/android/features/space/api/SpaceEntryPoint.kt b/features/space/api/src/main/kotlin/io/element/android/features/space/api/SpaceEntryPoint.kt index d4d6f8d97b..6b5bd7f892 100644 --- a/features/space/api/src/main/kotlin/io/element/android/features/space/api/SpaceEntryPoint.kt +++ b/features/space/api/src/main/kotlin/io/element/android/features/space/api/SpaceEntryPoint.kt @@ -15,8 +15,8 @@ import io.element.android.libraries.architecture.NodeInputs import io.element.android.libraries.matrix.api.core.RoomId interface SpaceEntryPoint : FeatureEntryPoint { - context(parentNode: Node) fun createNode( + parentNode: Node, buildContext: BuildContext, inputs: Inputs, callback: Callback diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/DefaultSpaceEntryPoint.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/DefaultSpaceEntryPoint.kt index 8ceafc6ffb..4d30503b80 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/DefaultSpaceEntryPoint.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/DefaultSpaceEntryPoint.kt @@ -16,8 +16,12 @@ import io.element.android.libraries.di.SessionScope @ContributesBinding(SessionScope::class) class DefaultSpaceEntryPoint : SpaceEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, inputs: SpaceEntryPoint.Inputs, callback: SpaceEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + inputs: SpaceEntryPoint.Inputs, + callback: SpaceEntryPoint.Callback, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf(inputs, callback), diff --git a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/DefaultSpaceEntryPointTest.kt b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/DefaultSpaceEntryPointTest.kt index 78931c4caf..3fd260dd4f 100644 --- a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/DefaultSpaceEntryPointTest.kt +++ b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/DefaultSpaceEntryPointTest.kt @@ -48,13 +48,12 @@ class DefaultSpaceEntryPointTest { override fun navigateToRoomDetails() = lambdaError() override fun navigateToRoomMemberList() = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - inputs = nodeInputs, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + inputs = nodeInputs, + callback = callback, + ) assertThat(result).isInstanceOf(SpaceFlowNode::class.java) assertThat(result.plugins).contains(nodeInputs) assertThat(result.plugins).contains(callback) diff --git a/features/startchat/api/src/main/kotlin/io/element/android/features/startchat/api/StartChatEntryPoint.kt b/features/startchat/api/src/main/kotlin/io/element/android/features/startchat/api/StartChatEntryPoint.kt index 92376974ec..0e16e05967 100644 --- a/features/startchat/api/src/main/kotlin/io/element/android/features/startchat/api/StartChatEntryPoint.kt +++ b/features/startchat/api/src/main/kotlin/io/element/android/features/startchat/api/StartChatEntryPoint.kt @@ -14,8 +14,11 @@ import io.element.android.libraries.architecture.FeatureEntryPoint import io.element.android.libraries.matrix.api.core.RoomIdOrAlias interface StartChatEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun onRoomCreated(roomIdOrAlias: RoomIdOrAlias, serverNames: List) diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/DefaultStartChatEntryPoint.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/DefaultStartChatEntryPoint.kt index 043cd0df1c..fa28c882c7 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/DefaultStartChatEntryPoint.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/DefaultStartChatEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultStartChatEntryPoint : StartChatEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: StartChatEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: StartChatEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(callback)) } } diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/StartChatFlowNode.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/StartChatFlowNode.kt index e3c846895c..ee30f4997c 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/StartChatFlowNode.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/StartChatFlowNode.kt @@ -80,6 +80,7 @@ class StartChatFlowNode( } } createRoomEntryPoint.createNode( + parentNode = this, buildContext = buildContext, callback = callback, ) diff --git a/features/startchat/impl/src/test/kotlin/io/element/android/features/startchat/impl/DefaultStartChatEntryPointTest.kt b/features/startchat/impl/src/test/kotlin/io/element/android/features/startchat/impl/DefaultStartChatEntryPointTest.kt index e8644da700..1792567a87 100644 --- a/features/startchat/impl/src/test/kotlin/io/element/android/features/startchat/impl/DefaultStartChatEntryPointTest.kt +++ b/features/startchat/impl/src/test/kotlin/io/element/android/features/startchat/impl/DefaultStartChatEntryPointTest.kt @@ -40,12 +40,11 @@ class DefaultStartChatEntryPointTest { override fun onRoomCreated(roomIdOrAlias: RoomIdOrAlias, serverNames: List) = lambdaError() override fun navigateToRoomDirectory() = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result).isInstanceOf(StartChatFlowNode::class.java) assertThat(result.plugins).contains(callback) } diff --git a/features/userprofile/api/src/main/kotlin/io/element/android/features/userprofile/api/UserProfileEntryPoint.kt b/features/userprofile/api/src/main/kotlin/io/element/android/features/userprofile/api/UserProfileEntryPoint.kt index d9ab4ff9e5..ef3b0afeaa 100644 --- a/features/userprofile/api/src/main/kotlin/io/element/android/features/userprofile/api/UserProfileEntryPoint.kt +++ b/features/userprofile/api/src/main/kotlin/io/element/android/features/userprofile/api/UserProfileEntryPoint.kt @@ -22,6 +22,10 @@ interface UserProfileEntryPoint : FeatureEntryPoint { fun navigateToRoom(roomId: RoomId) } - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node } diff --git a/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/DefaultUserProfileEntryPoint.kt b/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/DefaultUserProfileEntryPoint.kt index 71353b2cb2..e69ef185c0 100644 --- a/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/DefaultUserProfileEntryPoint.kt +++ b/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/DefaultUserProfileEntryPoint.kt @@ -16,8 +16,8 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultUserProfileEntryPoint : UserProfileEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: UserProfileEntryPoint.Params, callback: UserProfileEntryPoint.Callback, diff --git a/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/UserProfileFlowNode.kt b/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/UserProfileFlowNode.kt index 187fe36b87..fd019c3587 100644 --- a/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/UserProfileFlowNode.kt +++ b/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/UserProfileFlowNode.kt @@ -112,6 +112,7 @@ class UserProfileFlowNode( avatarUrl = navTarget.avatarUrl, ) mediaViewerEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = callback, @@ -123,6 +124,7 @@ class UserProfileFlowNode( verificationRequest = VerificationRequest.Outgoing.User(userId = navTarget.userId) ) outgoingVerificationEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = params, callback = object : OutgoingVerificationEntryPoint.Callback { diff --git a/features/userprofile/impl/src/test/kotlin/io/element/android/features/userprofile/impl/DefaultUserProfileEntryPointTest.kt b/features/userprofile/impl/src/test/kotlin/io/element/android/features/userprofile/impl/DefaultUserProfileEntryPointTest.kt index 520f2e39af..eca2b4b382 100644 --- a/features/userprofile/impl/src/test/kotlin/io/element/android/features/userprofile/impl/DefaultUserProfileEntryPointTest.kt +++ b/features/userprofile/impl/src/test/kotlin/io/element/android/features/userprofile/impl/DefaultUserProfileEntryPointTest.kt @@ -52,13 +52,12 @@ class DefaultUserProfileEntryPointTest { val params = UserProfileEntryPoint.Params( userId = A_USER_ID, ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(UserProfileFlowNode::class.java) assertThat(result.plugins).contains(params) assertThat(result.plugins).contains(callback) diff --git a/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/IncomingVerificationEntryPoint.kt b/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/IncomingVerificationEntryPoint.kt index c09b47e581..e6ea0ed687 100644 --- a/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/IncomingVerificationEntryPoint.kt +++ b/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/IncomingVerificationEntryPoint.kt @@ -19,8 +19,12 @@ interface IncomingVerificationEntryPoint : FeatureEntryPoint { val verificationRequest: VerificationRequest.Incoming, ) : NodeInputs - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node interface Callback : Plugin { fun onDone() diff --git a/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/OutgoingVerificationEntryPoint.kt b/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/OutgoingVerificationEntryPoint.kt index 372426e0d8..f6c1f41a0b 100644 --- a/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/OutgoingVerificationEntryPoint.kt +++ b/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/OutgoingVerificationEntryPoint.kt @@ -20,8 +20,12 @@ interface OutgoingVerificationEntryPoint : FeatureEntryPoint { val verificationRequest: VerificationRequest.Outgoing, ) : NodeInputs - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node interface Callback : Plugin { fun navigateToLearnMoreAboutEncryption() diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPoint.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPoint.kt index 26f0597ca2..9d6d91c79a 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPoint.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPoint.kt @@ -16,8 +16,8 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultIncomingVerificationEntryPoint : IncomingVerificationEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: IncomingVerificationEntryPoint.Params, callback: IncomingVerificationEntryPoint.Callback, diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultOutgoingVerificationEntryPoint.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultOutgoingVerificationEntryPoint.kt index ab29d152f4..3328b1df1e 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultOutgoingVerificationEntryPoint.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultOutgoingVerificationEntryPoint.kt @@ -16,8 +16,8 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultOutgoingVerificationEntryPoint : OutgoingVerificationEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: OutgoingVerificationEntryPoint.Params, callback: OutgoingVerificationEntryPoint.Callback, diff --git a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPointTest.kt b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPointTest.kt index 3a8743dccd..437657b811 100644 --- a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPointTest.kt +++ b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPointTest.kt @@ -37,13 +37,12 @@ class DefaultIncomingVerificationEntryPointTest { val params = IncomingVerificationEntryPoint.Params( verificationRequest = anIncomingSessionVerificationRequest() ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(IncomingVerificationNode::class.java) assertThat(result.plugins).contains(params) assertThat(result.plugins).contains(callback) diff --git a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultOutgoingVerificationEntryPointTest.kt b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultOutgoingVerificationEntryPointTest.kt index 1f9213a680..80906bc86a 100644 --- a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultOutgoingVerificationEntryPointTest.kt +++ b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultOutgoingVerificationEntryPointTest.kt @@ -42,13 +42,12 @@ class DefaultOutgoingVerificationEntryPointTest { showDeviceVerifiedScreen = true, verificationRequest = anOutgoingSessionVerificationRequest(), ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(OutgoingVerificationNode::class.java) assertThat(result.plugins).contains(params) assertThat(result.plugins).contains(callback) diff --git a/features/verifysession/test/src/main/kotlin/io/element/android/features/verifysession/test/FakeIncomingVerificationEntryPoint.kt b/features/verifysession/test/src/main/kotlin/io/element/android/features/verifysession/test/FakeIncomingVerificationEntryPoint.kt index 754d493996..1001c636e4 100644 --- a/features/verifysession/test/src/main/kotlin/io/element/android/features/verifysession/test/FakeIncomingVerificationEntryPoint.kt +++ b/features/verifysession/test/src/main/kotlin/io/element/android/features/verifysession/test/FakeIncomingVerificationEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.features.verifysession.api.IncomingVerificationEntryPo import io.element.android.tests.testutils.lambda.lambdaError class FakeIncomingVerificationEntryPoint : IncomingVerificationEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: IncomingVerificationEntryPoint.Params, callback: IncomingVerificationEntryPoint.Callback, diff --git a/features/verifysession/test/src/main/kotlin/io/element/android/features/verifysession/test/FakeOutgoingVerificationEntryPoint.kt b/features/verifysession/test/src/main/kotlin/io/element/android/features/verifysession/test/FakeOutgoingVerificationEntryPoint.kt index 2d5491578e..8deca450cd 100644 --- a/features/verifysession/test/src/main/kotlin/io/element/android/features/verifysession/test/FakeOutgoingVerificationEntryPoint.kt +++ b/features/verifysession/test/src/main/kotlin/io/element/android/features/verifysession/test/FakeOutgoingVerificationEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.features.verifysession.api.OutgoingVerificationEntryPo import io.element.android.tests.testutils.lambda.lambdaError class FakeOutgoingVerificationEntryPoint : OutgoingVerificationEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: OutgoingVerificationEntryPoint.Params, callback: OutgoingVerificationEntryPoint.Callback, diff --git a/features/viewfolder/api/src/main/kotlin/io/element/android/features/viewfolder/api/ViewFolderEntryPoint.kt b/features/viewfolder/api/src/main/kotlin/io/element/android/features/viewfolder/api/ViewFolderEntryPoint.kt index 97f6ffbf9e..9d756a4529 100644 --- a/features/viewfolder/api/src/main/kotlin/io/element/android/features/viewfolder/api/ViewFolderEntryPoint.kt +++ b/features/viewfolder/api/src/main/kotlin/io/element/android/features/viewfolder/api/ViewFolderEntryPoint.kt @@ -17,8 +17,12 @@ interface ViewFolderEntryPoint : FeatureEntryPoint { val rootPath: String, ) - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node interface Callback : Plugin { fun onDone() diff --git a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/DefaultViewFolderEntryPoint.kt b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/DefaultViewFolderEntryPoint.kt index 8999b853a8..4261c17e72 100644 --- a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/DefaultViewFolderEntryPoint.kt +++ b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/DefaultViewFolderEntryPoint.kt @@ -17,8 +17,12 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultViewFolderEntryPoint : ViewFolderEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, params: ViewFolderEntryPoint.Params, callback: ViewFolderEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: ViewFolderEntryPoint.Params, + callback: ViewFolderEntryPoint.Callback, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf( diff --git a/features/viewfolder/impl/src/test/kotlin/io/element/android/features/viewfolder/impl/DefaultViewFolderEntryPointTest.kt b/features/viewfolder/impl/src/test/kotlin/io/element/android/features/viewfolder/impl/DefaultViewFolderEntryPointTest.kt index ae0f4b9f2e..a8e643e1f5 100644 --- a/features/viewfolder/impl/src/test/kotlin/io/element/android/features/viewfolder/impl/DefaultViewFolderEntryPointTest.kt +++ b/features/viewfolder/impl/src/test/kotlin/io/element/android/features/viewfolder/impl/DefaultViewFolderEntryPointTest.kt @@ -40,13 +40,12 @@ class DefaultViewFolderEntryPointTest { val params = ViewFolderEntryPoint.Params( rootPath = "path", ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(ViewFolderFlowNode::class.java) assertThat(result.plugins).contains(ViewFolderFlowNode.Inputs(params.rootPath)) assertThat(result.plugins).contains(callback) diff --git a/features/viewfolder/test/src/main/kotlin/io/element/android/features/viewfolder/test/FakeViewFolderEntryPoint.kt b/features/viewfolder/test/src/main/kotlin/io/element/android/features/viewfolder/test/FakeViewFolderEntryPoint.kt index 6b0ba721ad..da908bd925 100644 --- a/features/viewfolder/test/src/main/kotlin/io/element/android/features/viewfolder/test/FakeViewFolderEntryPoint.kt +++ b/features/viewfolder/test/src/main/kotlin/io/element/android/features/viewfolder/test/FakeViewFolderEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.features.viewfolder.api.ViewFolderEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakeViewFolderEntryPoint : ViewFolderEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: ViewFolderEntryPoint.Params, callback: ViewFolderEntryPoint.Callback, diff --git a/libraries/accountselect/api/src/main/kotlin/io/element/android/libraries/accountselect/api/AccountSelectEntryPoint.kt b/libraries/accountselect/api/src/main/kotlin/io/element/android/libraries/accountselect/api/AccountSelectEntryPoint.kt index bb2de92662..c68ec5d95b 100644 --- a/libraries/accountselect/api/src/main/kotlin/io/element/android/libraries/accountselect/api/AccountSelectEntryPoint.kt +++ b/libraries/accountselect/api/src/main/kotlin/io/element/android/libraries/accountselect/api/AccountSelectEntryPoint.kt @@ -14,8 +14,11 @@ import io.element.android.libraries.architecture.FeatureEntryPoint import io.element.android.libraries.matrix.api.core.SessionId interface AccountSelectEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun onAccountSelected(sessionId: SessionId) diff --git a/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/DefaultAccountSelectEntryPoint.kt b/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/DefaultAccountSelectEntryPoint.kt index 9ecaaf5787..5b6381ce13 100644 --- a/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/DefaultAccountSelectEntryPoint.kt +++ b/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/DefaultAccountSelectEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.architecture.createNode @ContributesBinding(AppScope::class) class DefaultAccountSelectEntryPoint : AccountSelectEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: AccountSelectEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: AccountSelectEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(callback)) } } diff --git a/libraries/accountselect/impl/src/test/kotlin/io/element/android/libraries/accountselect/impl/DefaultAccountSelectEntryPointTest.kt b/libraries/accountselect/impl/src/test/kotlin/io/element/android/libraries/accountselect/impl/DefaultAccountSelectEntryPointTest.kt index ae3ceb29c7..b36fcb5ab8 100644 --- a/libraries/accountselect/impl/src/test/kotlin/io/element/android/libraries/accountselect/impl/DefaultAccountSelectEntryPointTest.kt +++ b/libraries/accountselect/impl/src/test/kotlin/io/element/android/libraries/accountselect/impl/DefaultAccountSelectEntryPointTest.kt @@ -35,12 +35,11 @@ class DefaultAccountSelectEntryPointTest { override fun onAccountSelected(sessionId: SessionId) = lambdaError() override fun onCancel() = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result).isInstanceOf(AccountSelectNode::class.java) assertThat(result.plugins).contains(callback) } diff --git a/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/FeatureEntryPoint.kt b/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/FeatureEntryPoint.kt index c8b0a00213..d5a932b705 100644 --- a/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/FeatureEntryPoint.kt +++ b/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/FeatureEntryPoint.kt @@ -19,6 +19,5 @@ interface FeatureEntryPoint * Can be used when the feature only exposes a simple node without the need of plugins. */ fun interface SimpleFeatureEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext): Node + fun createNode(parentNode: Node, buildContext: BuildContext): Node } diff --git a/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/MediaGalleryEntryPoint.kt b/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/MediaGalleryEntryPoint.kt index b7257e4ed5..dd71f302d4 100644 --- a/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/MediaGalleryEntryPoint.kt +++ b/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/MediaGalleryEntryPoint.kt @@ -14,8 +14,11 @@ import io.element.android.libraries.architecture.FeatureEntryPoint import io.element.android.libraries.matrix.api.core.EventId interface MediaGalleryEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun onBackClick() diff --git a/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/MediaViewerEntryPoint.kt b/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/MediaViewerEntryPoint.kt index a926deb015..201573dc70 100644 --- a/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/MediaViewerEntryPoint.kt +++ b/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/MediaViewerEntryPoint.kt @@ -19,8 +19,12 @@ import io.element.android.libraries.matrix.api.timeline.Timeline import kotlinx.parcelize.Parcelize interface MediaViewerEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node fun createParamsForAvatar(filename: String, avatarUrl: String): Params diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPoint.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPoint.kt index 78a15c1997..60935a204c 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPoint.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPoint.kt @@ -17,8 +17,11 @@ import io.element.android.libraries.mediaviewer.impl.gallery.root.MediaGalleryFl @ContributesBinding(AppScope::class) class DefaultMediaGalleryEntryPoint : MediaGalleryEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: MediaGalleryEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: MediaGalleryEntryPoint.Callback, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf(callback), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPoint.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPoint.kt index a1d11811c4..7d683bf3df 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPoint.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPoint.kt @@ -48,8 +48,8 @@ class DefaultMediaViewerEntryPoint : MediaViewerEntryPoint { ) } - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: MediaViewerEntryPoint.Params, callback: MediaViewerEntryPoint.Callback, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/root/MediaGalleryFlowNode.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/root/MediaGalleryFlowNode.kt index 8b6ec84eb5..cc71b49dac 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/root/MediaGalleryFlowNode.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/root/MediaGalleryFlowNode.kt @@ -125,6 +125,7 @@ class MediaGalleryFlowNode( } } mediaViewerEntryPoint.createNode( + parentNode = this, buildContext = buildContext, params = MediaViewerEntryPoint.Params( mode = navTarget.mode, diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPointTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPointTest.kt index a5dce8f4ec..189644ebd5 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPointTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPointTest.kt @@ -42,12 +42,11 @@ class DefaultMediaGalleryEntryPointTest { override fun viewInTimeline(eventId: EventId) = lambdaError() override fun forward(eventId: EventId) = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result).isInstanceOf(MediaGalleryFlowNode::class.java) assertThat(result.plugins).contains(callback) } diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPointTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPointTest.kt index 2929badf82..b53fe7913c 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPointTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPointTest.kt @@ -75,13 +75,12 @@ class DefaultMediaViewerEntryPointTest { override fun forwardEvent(eventId: EventId) = lambdaError() } val params = createMediaViewerEntryPointParams() - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(MediaViewerNode::class.java) assertThat(result.plugins).contains(params) assertThat(result.plugins).contains(callback) @@ -125,13 +124,12 @@ class DefaultMediaViewerEntryPointTest { filename = "fn", avatarUrl = "avatarUrl", ) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(MediaViewerNode::class.java) assertThat(result.plugins).contains( MediaViewerEntryPoint.Params( diff --git a/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeMediaGalleryEntryPoint.kt b/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeMediaGalleryEntryPoint.kt index 341bf8a65f..9ba6bfee62 100644 --- a/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeMediaGalleryEntryPoint.kt +++ b/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeMediaGalleryEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.libraries.mediaviewer.api.MediaGalleryEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakeMediaGalleryEntryPoint : MediaGalleryEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, callback: MediaGalleryEntryPoint.Callback, ): Node = lambdaError() diff --git a/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeMediaViewerEntryPoint.kt b/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeMediaViewerEntryPoint.kt index 52e37e84b9..9890169579 100644 --- a/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeMediaViewerEntryPoint.kt +++ b/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeMediaViewerEntryPoint.kt @@ -15,8 +15,8 @@ import io.element.android.tests.testutils.lambda.lambdaError class FakeMediaViewerEntryPoint : MediaViewerEntryPoint { override fun createParamsForAvatar(filename: String, avatarUrl: String) = lambdaError() - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: MediaViewerEntryPoint.Params, callback: MediaViewerEntryPoint.Callback, diff --git a/libraries/roomselect/api/src/main/kotlin/io/element/android/libraries/roomselect/api/RoomSelectEntryPoint.kt b/libraries/roomselect/api/src/main/kotlin/io/element/android/libraries/roomselect/api/RoomSelectEntryPoint.kt index 08aa8a2d34..1da6c4dd4c 100644 --- a/libraries/roomselect/api/src/main/kotlin/io/element/android/libraries/roomselect/api/RoomSelectEntryPoint.kt +++ b/libraries/roomselect/api/src/main/kotlin/io/element/android/libraries/roomselect/api/RoomSelectEntryPoint.kt @@ -18,8 +18,12 @@ interface RoomSelectEntryPoint : FeatureEntryPoint { val mode: RoomSelectMode, ) - context(parentNode: Node) - fun createNode(buildContext: BuildContext, params: Params, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: Params, + callback: Callback, + ): Node interface Callback : Plugin { fun onRoomSelected(roomIds: List) diff --git a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/DefaultRoomSelectEntryPoint.kt b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/DefaultRoomSelectEntryPoint.kt index 15da921a49..94488ec1c4 100644 --- a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/DefaultRoomSelectEntryPoint.kt +++ b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/DefaultRoomSelectEntryPoint.kt @@ -16,8 +16,12 @@ import io.element.android.libraries.roomselect.api.RoomSelectEntryPoint @ContributesBinding(SessionScope::class) class DefaultRoomSelectEntryPoint : RoomSelectEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, params: RoomSelectEntryPoint.Params, callback: RoomSelectEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + params: RoomSelectEntryPoint.Params, + callback: RoomSelectEntryPoint.Callback, + ): Node { return parentNode.createNode( buildContext = buildContext, plugins = listOf( diff --git a/libraries/roomselect/impl/src/test/kotlin/io/element/android/libraries/roomselect/impl/DefaultRoomSelectEntryPointTest.kt b/libraries/roomselect/impl/src/test/kotlin/io/element/android/libraries/roomselect/impl/DefaultRoomSelectEntryPointTest.kt index 6bb68b9707..0bd16f77b0 100644 --- a/libraries/roomselect/impl/src/test/kotlin/io/element/android/libraries/roomselect/impl/DefaultRoomSelectEntryPointTest.kt +++ b/libraries/roomselect/impl/src/test/kotlin/io/element/android/libraries/roomselect/impl/DefaultRoomSelectEntryPointTest.kt @@ -42,13 +42,12 @@ class DefaultRoomSelectEntryPointTest { override fun onCancel() = lambdaError() } val params = RoomSelectEntryPoint.Params(testMode) - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - params = params, - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + params = params, + callback = callback, + ) assertThat(result).isInstanceOf(RoomSelectNode::class.java) assertThat(result.plugins).contains(RoomSelectNode.Inputs(params.mode)) assertThat(result.plugins).contains(callback) diff --git a/libraries/roomselect/test/src/main/kotlin/io/element/android/libraries/roomselect/test/FakeRoomSelectEntryPoint.kt b/libraries/roomselect/test/src/main/kotlin/io/element/android/libraries/roomselect/test/FakeRoomSelectEntryPoint.kt index 3b0ea4ac53..5c7e4d11d8 100644 --- a/libraries/roomselect/test/src/main/kotlin/io/element/android/libraries/roomselect/test/FakeRoomSelectEntryPoint.kt +++ b/libraries/roomselect/test/src/main/kotlin/io/element/android/libraries/roomselect/test/FakeRoomSelectEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.libraries.roomselect.api.RoomSelectEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakeRoomSelectEntryPoint : RoomSelectEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, params: RoomSelectEntryPoint.Params, callback: RoomSelectEntryPoint.Callback, diff --git a/libraries/troubleshoot/api/src/main/kotlin/io/element/android/libraries/troubleshoot/api/NotificationTroubleShootEntryPoint.kt b/libraries/troubleshoot/api/src/main/kotlin/io/element/android/libraries/troubleshoot/api/NotificationTroubleShootEntryPoint.kt index ae32ace777..7889ba4da3 100644 --- a/libraries/troubleshoot/api/src/main/kotlin/io/element/android/libraries/troubleshoot/api/NotificationTroubleShootEntryPoint.kt +++ b/libraries/troubleshoot/api/src/main/kotlin/io/element/android/libraries/troubleshoot/api/NotificationTroubleShootEntryPoint.kt @@ -13,8 +13,11 @@ import com.bumble.appyx.core.plugin.Plugin import io.element.android.libraries.architecture.FeatureEntryPoint interface NotificationTroubleShootEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun onDone() diff --git a/libraries/troubleshoot/api/src/main/kotlin/io/element/android/libraries/troubleshoot/api/PushHistoryEntryPoint.kt b/libraries/troubleshoot/api/src/main/kotlin/io/element/android/libraries/troubleshoot/api/PushHistoryEntryPoint.kt index ba11199330..bef39ecdd4 100644 --- a/libraries/troubleshoot/api/src/main/kotlin/io/element/android/libraries/troubleshoot/api/PushHistoryEntryPoint.kt +++ b/libraries/troubleshoot/api/src/main/kotlin/io/element/android/libraries/troubleshoot/api/PushHistoryEntryPoint.kt @@ -15,8 +15,11 @@ import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.RoomId interface PushHistoryEntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { fun onDone() diff --git a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/DefaultNotificationTroubleShootEntryPoint.kt b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/DefaultNotificationTroubleShootEntryPoint.kt index 7404aed8ed..285f08b65a 100644 --- a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/DefaultNotificationTroubleShootEntryPoint.kt +++ b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/DefaultNotificationTroubleShootEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.troubleshoot.api.NotificationTroubleShootEnt @ContributesBinding(AppScope::class) class DefaultNotificationTroubleShootEntryPoint : NotificationTroubleShootEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: NotificationTroubleShootEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: NotificationTroubleShootEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(callback)) } } diff --git a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/DefaultPushHistoryEntryPoint.kt b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/DefaultPushHistoryEntryPoint.kt index 8477d39714..ca0cccc82c 100644 --- a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/DefaultPushHistoryEntryPoint.kt +++ b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/DefaultPushHistoryEntryPoint.kt @@ -16,8 +16,11 @@ import io.element.android.libraries.troubleshoot.api.PushHistoryEntryPoint @ContributesBinding(AppScope::class) class DefaultPushHistoryEntryPoint : PushHistoryEntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: PushHistoryEntryPoint.Callback): Node { + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: PushHistoryEntryPoint.Callback, + ): Node { return parentNode.createNode(buildContext, listOf(callback)) } } diff --git a/libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/DefaultNotificationTroubleShootEntryPointTest.kt b/libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/DefaultNotificationTroubleShootEntryPointTest.kt index cf4c62b9b4..1eef24fbcb 100644 --- a/libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/DefaultNotificationTroubleShootEntryPointTest.kt +++ b/libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/DefaultNotificationTroubleShootEntryPointTest.kt @@ -36,12 +36,11 @@ class DefaultNotificationTroubleShootEntryPointTest { override fun onDone() = lambdaError() override fun navigateToBlockedUsers() = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result).isInstanceOf(TroubleshootNotificationsNode::class.java) assertThat(result.plugins).contains(callback) } diff --git a/libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/history/DefaultPushHistoryEntryPointTest.kt b/libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/history/DefaultPushHistoryEntryPointTest.kt index 271cd8d8fd..b963183ecc 100644 --- a/libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/history/DefaultPushHistoryEntryPointTest.kt +++ b/libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/history/DefaultPushHistoryEntryPointTest.kt @@ -48,12 +48,11 @@ class DefaultPushHistoryEntryPointTest { override fun onDone() = lambdaError() override fun navigateToEvent(roomId: RoomId, eventId: EventId) = lambdaError() } - val result = with(parentNode) { - entryPoint.createNode( - buildContext = BuildContext.root(null), - callback = callback, - ) - } + val result = entryPoint.createNode( + parentNode = parentNode, + buildContext = BuildContext.root(null), + callback = callback, + ) assertThat(result).isInstanceOf(PushHistoryNode::class.java) assertThat(result.plugins).contains(callback) } diff --git a/libraries/troubleshoot/test/src/main/kotlin/io/element/android/libraries/troubleshoot/test/FakeNotificationTroubleShootEntryPoint.kt b/libraries/troubleshoot/test/src/main/kotlin/io/element/android/libraries/troubleshoot/test/FakeNotificationTroubleShootEntryPoint.kt index 84a79382e2..38ba5bc32f 100644 --- a/libraries/troubleshoot/test/src/main/kotlin/io/element/android/libraries/troubleshoot/test/FakeNotificationTroubleShootEntryPoint.kt +++ b/libraries/troubleshoot/test/src/main/kotlin/io/element/android/libraries/troubleshoot/test/FakeNotificationTroubleShootEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.libraries.troubleshoot.api.NotificationTroubleShootEnt import io.element.android.tests.testutils.lambda.lambdaError class FakeNotificationTroubleShootEntryPoint : NotificationTroubleShootEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, callback: NotificationTroubleShootEntryPoint.Callback, ): Node = lambdaError() diff --git a/libraries/troubleshoot/test/src/main/kotlin/io/element/android/libraries/troubleshoot/test/FakePushHistoryEntryPoint.kt b/libraries/troubleshoot/test/src/main/kotlin/io/element/android/libraries/troubleshoot/test/FakePushHistoryEntryPoint.kt index 7a4e96b839..c87fe43575 100644 --- a/libraries/troubleshoot/test/src/main/kotlin/io/element/android/libraries/troubleshoot/test/FakePushHistoryEntryPoint.kt +++ b/libraries/troubleshoot/test/src/main/kotlin/io/element/android/libraries/troubleshoot/test/FakePushHistoryEntryPoint.kt @@ -13,8 +13,8 @@ import io.element.android.libraries.troubleshoot.api.PushHistoryEntryPoint import io.element.android.tests.testutils.lambda.lambdaError class FakePushHistoryEntryPoint : PushHistoryEntryPoint { - context(parentNode: Node) override fun createNode( + parentNode: Node, buildContext: BuildContext, callback: PushHistoryEntryPoint.Callback, ): Node = lambdaError() diff --git a/tools/templates/files/fileTemplates/Template Module Feature Entry Point API.kt b/tools/templates/files/fileTemplates/Template Module Feature Entry Point API.kt index af6cf59c8e..c4357b2d3c 100644 --- a/tools/templates/files/fileTemplates/Template Module Feature Entry Point API.kt +++ b/tools/templates/files/fileTemplates/Template Module Feature Entry Point API.kt @@ -6,8 +6,11 @@ import com.bumble.appyx.core.plugin.Plugin import io.element.android.libraries.architecture.FeatureEntryPoint interface ${FEATURE_NAME}EntryPoint : FeatureEntryPoint { - context(parentNode: Node) - fun createNode(buildContext: BuildContext, callback: Callback): Node + fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: Callback, + ): Node interface Callback : Plugin { // Add your callbacks diff --git a/tools/templates/files/fileTemplates/Template Module Feature Entry Point Flow Impl.kt b/tools/templates/files/fileTemplates/Template Module Feature Entry Point Flow Impl.kt index eca83b787f..3642f8e821 100644 --- a/tools/templates/files/fileTemplates/Template Module Feature Entry Point Flow Impl.kt +++ b/tools/templates/files/fileTemplates/Template Module Feature Entry Point Flow Impl.kt @@ -10,8 +10,12 @@ import dev.zacsweers.metro.AppScope @ContributesBinding(AppScope::class) class Default${FEATURE_NAME}EntryPoint() : ${FEATURE_NAME}EntryPoint { - context(parentNode: Node) - override fun createNode(buildContext: BuildContext, callback: ${FEATURE_NAME}EntryPoint.Callback): Node { + + override fun createNode( + parentNode: Node, + buildContext: BuildContext, + callback: ${FEATURE_NAME}EntryPoint.Callback, + ): Node { return parentNode.createNode<${FEATURE_NAME}FlowNode>(buildContext, listOf(callback)) } }