Rename fun in Callback for clarity.

This commit is contained in:
Benoit Marty 2025-10-29 10:30:30 +01:00 committed by Benoit Marty
parent 45b5783b23
commit 09a18ad7ca
104 changed files with 658 additions and 664 deletions

View file

@ -167,55 +167,55 @@ class RoomDetailsFlowNode(
return when (navTarget) {
NavTarget.RoomDetails -> {
val roomDetailsCallback = object : RoomDetailsNode.Callback {
override fun openRoomMemberList() {
override fun navigateToRoomMemberList() {
backstack.push(NavTarget.RoomMemberList)
}
override fun editRoomDetails() {
override fun navigateToRoomDetailsEdit() {
backstack.push(NavTarget.RoomDetailsEdit)
}
override fun openInviteMembers() {
override fun navigateToInviteMembers() {
backstack.push(NavTarget.InviteMembers)
}
override fun openRoomNotificationSettings() {
override fun navigateToRoomNotificationSettings() {
backstack.push(NavTarget.RoomNotificationSettings(showUserDefinedSettingStyle = false))
}
override fun openAvatarPreview(name: String, url: String) {
override fun navigateToAvatarPreview(name: String, url: String) {
overlay.show(NavTarget.AvatarPreview(name, url))
}
override fun openPollHistory() {
override fun navigateToPollHistory() {
backstack.push(NavTarget.PollHistory)
}
override fun openMediaGallery() {
override fun navigateToMediaGallery() {
backstack.push(NavTarget.MediaGallery)
}
override fun openAdminSettings() {
override fun navigateToAdminSettings() {
backstack.push(NavTarget.AdminSettings)
}
override fun openPinnedMessagesList() {
override fun navigateToPinnedMessagesList() {
backstack.push(NavTarget.PinnedMessagesList)
}
override fun openKnockRequestsList() {
override fun navigateToKnockRequestsList() {
backstack.push(NavTarget.KnockRequestsList)
}
override fun openSecurityAndPrivacy() {
override fun navigateToSecurityAndPrivacy() {
backstack.push(NavTarget.SecurityAndPrivacy)
}
override fun openDmUserProfile(userId: UserId) {
override fun navigateToRoomMemberDetails(userId: UserId) {
backstack.push(NavTarget.RoomMemberDetails(userId))
}
override fun onJoinCall() {
override fun navigateToRoomCall() {
val inputs = CallType.RoomCall(
sessionId = room.sessionId,
roomId = room.roomId,
@ -224,11 +224,11 @@ class RoomDetailsFlowNode(
elementCallEntryPoint.startCall(inputs)
}
override fun openReportRoom() {
override fun navigateToReportRoom() {
backstack.push(NavTarget.ReportRoom)
}
override fun onSelectNewOwnersWhenLeaving() {
override fun navigateToSelectNewOwnersWhenLeaving() {
backstack.push(NavTarget.SelectNewOwnersWhenLeaving)
}
}
@ -237,11 +237,11 @@ class RoomDetailsFlowNode(
NavTarget.RoomMemberList -> {
val roomMemberListCallback = object : RoomMemberListNode.Callback {
override fun openRoomMemberDetails(roomMemberId: UserId) {
override fun navigateToRoomMemberDetails(roomMemberId: UserId) {
backstack.push(NavTarget.RoomMemberDetails(roomMemberId))
}
override fun openInviteMembers() {
override fun navigateToInviteMembers() {
backstack.push(NavTarget.InviteMembers)
}
}
@ -259,8 +259,8 @@ class RoomDetailsFlowNode(
is NavTarget.RoomNotificationSettings -> {
val input = RoomNotificationSettingsNode.RoomNotificationSettingInput(navTarget.showUserDefinedSettingStyle)
val callback = object : RoomNotificationSettingsNode.Callback {
override fun openGlobalNotificationSettings() {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.onOpenGlobalNotificationSettings() }
override fun navigateToGlobalNotificationSettings() {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.navigateToGlobalNotificationSettings() }
}
}
createNode<RoomNotificationSettingsNode>(buildContext, listOf(input, callback))
@ -268,19 +268,19 @@ class RoomDetailsFlowNode(
is NavTarget.RoomMemberDetails -> {
val callback = object : UserProfileNodeHelper.Callback {
override fun openAvatarPreview(username: String, avatarUrl: String) {
override fun navigateToAvatarPreview(username: String, avatarUrl: String) {
overlay.show(NavTarget.AvatarPreview(username, avatarUrl))
}
override fun onStartDM(roomId: RoomId) {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.onOpenRoom(roomId, emptyList()) }
override fun navigateToRoom(roomId: RoomId) {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.navigateToRoom(roomId, emptyList()) }
}
override fun onStartCall(dmRoomId: RoomId) {
override fun startCall(dmRoomId: RoomId) {
elementCallEntryPoint.startCall(CallType.RoomCall(roomId = dmRoomId, sessionId = room.sessionId))
}
override fun onVerifyUser(userId: UserId) {
override fun startVerifyUserFlow(userId: UserId) {
backstack.push(NavTarget.VerifyUser(userId))
}
}
@ -293,11 +293,11 @@ class RoomDetailsFlowNode(
overlay.hide()
}
override fun onViewInTimeline(eventId: EventId) {
override fun viewInTimeline(eventId: EventId) {
// Cannot happen
}
override fun onForwardEvent(eventId: EventId) {
override fun forwardEvent(eventId: EventId) {
// Cannot happen
}
}
@ -318,18 +318,18 @@ class RoomDetailsFlowNode(
backstack.pop()
}
override fun onViewInTimeline(eventId: EventId) {
override fun viewInTimeline(eventId: EventId) {
val permalinkData = PermalinkData.RoomLink(
roomIdOrAlias = room.roomId.toRoomIdOrAlias(),
eventId = eventId,
)
plugins<RoomDetailsEntryPoint.Callback>().forEach {
it.onPermalinkClick(permalinkData, pushToBackstack = false)
it.handlePermalinkClick(permalinkData, pushToBackstack = false)
}
}
override fun forwardEvent(eventId: EventId) {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.forwardEvent(eventId) }
override fun forward(eventId: EventId) {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.startForwardEventFlow(eventId) }
}
}
mediaGalleryEntryPoint.nodeBuilder(this, buildContext)
@ -345,20 +345,20 @@ class RoomDetailsFlowNode(
MessagesEntryPoint.InitialTarget.PinnedMessages
)
val callback = object : MessagesEntryPoint.Callback {
override fun onRoomDetailsClick() = Unit
override fun navigateToRoomDetails() = Unit
override fun onUserDataClick(userId: UserId) = Unit
override fun navigateToRoomMemberDetails(userId: UserId) = Unit
override fun onPermalinkClick(data: PermalinkData, pushToBackstack: Boolean) {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.onPermalinkClick(data, pushToBackstack) }
override fun handlePermalinkClick(data: PermalinkData, pushToBackstack: Boolean) {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.handlePermalinkClick(data, pushToBackstack) }
}
override fun forwardEvent(eventId: EventId) {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.forwardEvent(eventId) }
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.startForwardEventFlow(eventId) }
}
override fun openRoom(roomId: RoomId) {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.onOpenRoom(roomId, emptyList()) }
override fun navigateToRoom(roomId: RoomId) {
plugins<RoomDetailsEntryPoint.Callback>().forEach { it.navigateToRoom(roomId, emptyList()) }
}
}
return messagesEntryPoint.nodeBuilder(this, buildContext)
@ -388,7 +388,7 @@ class RoomDetailsFlowNode(
backstack.pop()
}
override fun onLearnMoreAboutEncryption() {
override fun navigateToLearnMoreAboutEncryption() {
learnMoreUrl.value = LearnMoreConfig.ENCRYPTION_URL
}
})

View file

@ -46,21 +46,21 @@ class RoomDetailsNode(
private val leaveRoomRenderer: LeaveRoomRenderer,
) : Node(buildContext, plugins = plugins) {
interface Callback : Plugin {
fun openRoomMemberList()
fun openInviteMembers()
fun editRoomDetails()
fun openRoomNotificationSettings()
fun openAvatarPreview(name: String, url: String)
fun openPollHistory()
fun openMediaGallery()
fun openAdminSettings()
fun openPinnedMessagesList()
fun openKnockRequestsList()
fun openSecurityAndPrivacy()
fun openDmUserProfile(userId: UserId)
fun onJoinCall()
fun openReportRoom()
fun onSelectNewOwnersWhenLeaving()
fun navigateToRoomMemberList()
fun navigateToInviteMembers()
fun navigateToRoomDetailsEdit()
fun navigateToRoomNotificationSettings()
fun navigateToAvatarPreview(name: String, url: String)
fun navigateToPollHistory()
fun navigateToMediaGallery()
fun navigateToAdminSettings()
fun navigateToPinnedMessagesList()
fun navigateToKnockRequestsList()
fun navigateToSecurityAndPrivacy()
fun navigateToRoomMemberDetails(userId: UserId)
fun navigateToRoomCall()
fun navigateToReportRoom()
fun navigateToSelectNewOwnersWhenLeaving()
}
private val callback = plugins<Callback>().first()
@ -74,27 +74,27 @@ class RoomDetailsNode(
}
private fun openRoomMemberList() {
callback.openRoomMemberList()
callback.navigateToRoomMemberList()
}
private fun openRoomNotificationSettings() {
callback.openRoomNotificationSettings()
callback.navigateToRoomNotificationSettings()
}
private fun invitePeople() {
callback.openInviteMembers()
callback.navigateToInviteMembers()
}
private fun openPollHistory() {
callback.openPollHistory()
callback.navigateToPollHistory()
}
private fun openMediaGallery() {
callback.openMediaGallery()
callback.navigateToMediaGallery()
}
private fun onJoinCall() {
callback.onJoinCall()
callback.navigateToRoomCall()
}
private fun CoroutineScope.onShareRoom(context: Context) = launch {
@ -113,39 +113,39 @@ class RoomDetailsNode(
}
private fun onEditRoomDetails() {
callback.editRoomDetails()
callback.navigateToRoomDetailsEdit()
}
private fun openAvatarPreview(name: String, url: String) {
callback.openAvatarPreview(name, url)
callback.navigateToAvatarPreview(name, url)
}
private fun openAdminSettings() {
callback.openAdminSettings()
callback.navigateToAdminSettings()
}
private fun openPinnedMessages() {
callback.openPinnedMessagesList()
callback.navigateToPinnedMessagesList()
}
private fun openKnockRequestsLists() {
callback.openKnockRequestsList()
callback.navigateToKnockRequestsList()
}
private fun openSecurityAndPrivacy() {
callback.openSecurityAndPrivacy()
callback.navigateToSecurityAndPrivacy()
}
private fun onProfileClick(userId: UserId) {
callback.openDmUserProfile(userId)
callback.navigateToRoomMemberDetails(userId)
}
private fun onReportRoomClick() {
callback.openReportRoom()
callback.navigateToReportRoom()
}
private fun onSelectNewOwnersWhenLeaving() {
return callback.onSelectNewOwnersWhenLeaving()
return callback.navigateToSelectNewOwnersWhenLeaving()
}
private val stateFlow = launchMolecule { presenter.present() }

View file

@ -35,8 +35,8 @@ class RoomMemberListNode(
private val roomMemberModerationRenderer: RoomMemberModerationRenderer,
) : Node(buildContext, plugins = plugins), RoomMemberListNavigator {
interface Callback : Plugin {
fun openRoomMemberDetails(roomMemberId: UserId)
fun openInviteMembers()
fun navigateToRoomMemberDetails(roomMemberId: UserId)
fun navigateToInviteMembers()
}
private val callbacks = plugins<Callback>()
@ -51,13 +51,13 @@ class RoomMemberListNode(
override fun openRoomMemberDetails(roomMemberId: UserId) {
callbacks.forEach {
it.openRoomMemberDetails(roomMemberId)
it.navigateToRoomMemberDetails(roomMemberId)
}
}
override fun openInviteMembers() {
callbacks.forEach {
it.openInviteMembers()
it.navigateToInviteMembers()
}
}

View file

@ -62,12 +62,12 @@ class RoomMemberDetailsNode(
userProfileNodeHelper.onShareUser(context, permalinkBuilder)
}
fun onStartDM(roomId: RoomId) {
callback.onStartDM(roomId)
fun navigateToRoom(roomId: RoomId) {
callback.navigateToRoom(roomId)
}
fun onStartCall(roomId: RoomId) {
callback.onStartCall(roomId)
callback.startCall(roomId)
}
val state = presenter.present()
@ -77,10 +77,10 @@ class RoomMemberDetailsNode(
modifier = modifier,
goBack = this::navigateUp,
onShareUser = ::onShareUser,
onOpenDm = ::onStartDM,
onOpenDm = ::navigateToRoom,
onStartCall = ::onStartCall,
openAvatarPreview = callback::openAvatarPreview,
onVerifyClick = callback::onVerifyUser,
openAvatarPreview = callback::navigateToAvatarPreview,
onVerifyClick = callback::startVerifyUserFlow,
)
}
}

View file

@ -35,13 +35,13 @@ class RoomNotificationSettingsNode(
val showUserDefinedSettingStyle: Boolean
) : NodeInputs
interface Callback : Plugin {
fun openGlobalNotificationSettings()
fun navigateToGlobalNotificationSettings()
}
private val inputs = inputs<RoomNotificationSettingInput>()
private val callbacks = plugins<Callback>()
private fun openGlobalNotificationSettings() {
callbacks.forEach { it.openGlobalNotificationSettings() }
private fun navigateToGlobalNotificationSettings() {
callbacks.forEach { it.navigateToGlobalNotificationSettings() }
}
private val presenter = presenterFactory.create(inputs.showUserDefinedSettingStyle)
@ -59,7 +59,7 @@ class RoomNotificationSettingsNode(
RoomNotificationSettingsView(
state = state,
modifier = modifier,
onShowGlobalNotifications = this::openGlobalNotificationSettings,
onShowGlobalNotifications = this::navigateToGlobalNotificationSettings,
onBackClick = this::navigateUp,
)
}

View file

@ -94,10 +94,10 @@ class DefaultRoomDetailsEntryPointTest {
)
}
val callback = object : RoomDetailsEntryPoint.Callback {
override fun onOpenGlobalNotificationSettings() = lambdaError()
override fun onOpenRoom(roomId: RoomId, serverNames: List<String>) = lambdaError()
override fun onPermalinkClick(data: PermalinkData, pushToBackstack: Boolean) = lambdaError()
override fun forwardEvent(eventId: EventId) = lambdaError()
override fun navigateToGlobalNotificationSettings() = lambdaError()
override fun navigateToRoom(roomId: RoomId, serverNames: List<String>) = lambdaError()
override fun handlePermalinkClick(data: PermalinkData, pushToBackstack: Boolean) = lambdaError()
override fun startForwardEventFlow(eventId: EventId) = lambdaError()
}
val params = RoomDetailsEntryPoint.Params(
initialElement = RoomDetailsEntryPoint.InitialTarget.RoomDetails,