From 983d05fc136422856188543ccd0f83c6f5a88c43 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 25 Aug 2026 09:56:23 +0200 Subject: [PATCH] `InvitePeopleEvents` -> `InvitePeopleEvent` --- .../createroom/impl/addpeople/AddPeopleView.kt | 4 ++-- ...itePeopleEvents.kt => InvitePeopleEvent.kt} | 8 ++++---- .../invitepeople/api/InvitePeopleState.kt | 2 +- .../api/InvitePeopleStatePreviewParam.kt | 4 ++-- .../impl/DefaultInvitePeopleEvents.kt | 4 ++-- .../impl/DefaultInvitePeoplePresenter.kt | 10 +++++----- .../impl/DefaultInvitePeopleState.kt | 4 ++-- .../invitepeople/impl/InvitePeopleView.kt | 4 ++-- .../impl/DefaultInvitePeoplePresenterTest.kt | 18 +++++++++--------- .../impl/invite/RoomInviteMembersNode.kt | 4 ++-- .../impl/invite/RoomInviteMembersView.kt | 6 +++--- 11 files changed, 34 insertions(+), 34 deletions(-) rename features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/{InvitePeopleEvents.kt => InvitePeopleEvent.kt} (68%) diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt index f9075691aa..b23226b9c0 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt @@ -21,7 +21,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.features.createroom.impl.R -import io.element.android.features.invitepeople.api.InvitePeopleEvents +import io.element.android.features.invitepeople.api.InvitePeopleEvent import io.element.android.features.invitepeople.api.InvitePeopleState import io.element.android.features.invitepeople.api.InvitePeopleStatePreviewParam import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage @@ -56,7 +56,7 @@ fun AddPeopleView( Button( text = stringResource(CommonStrings.action_finish), onClick = { - state.eventSink(InvitePeopleEvents.SendInvites) + state.eventSink(InvitePeopleEvent.SendInvites) }, enabled = state.canInvite, modifier = Modifier diff --git a/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleEvents.kt b/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleEvent.kt similarity index 68% rename from features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleEvents.kt rename to features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleEvent.kt index 9570ab8152..884312da67 100644 --- a/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleEvents.kt +++ b/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleEvent.kt @@ -11,8 +11,8 @@ package io.element.android.features.invitepeople.api /** * Events the invite people UI sends to its presenter through [InvitePeopleState.eventSink]. */ -interface InvitePeopleEvents { - data object SendInvites : InvitePeopleEvents - data object CloseSearch : InvitePeopleEvents - data object ClearError : InvitePeopleEvents +interface InvitePeopleEvent { + data object SendInvites : InvitePeopleEvent + data object CloseSearch : InvitePeopleEvent + data object ClearError : InvitePeopleEvent } diff --git a/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleState.kt b/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleState.kt index 0863ec7212..b35ed22f7e 100644 --- a/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleState.kt +++ b/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleState.kt @@ -28,5 +28,5 @@ interface InvitePeopleState { val createRoomFromDmAction: AsyncAction /** Where the UI sends its events. */ - val eventSink: (InvitePeopleEvents) -> Unit + val eventSink: (InvitePeopleEvent) -> Unit } diff --git a/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStatePreviewParam.kt b/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStatePreviewParam.kt index 860efc2771..379d80440e 100644 --- a/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStatePreviewParam.kt +++ b/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStatePreviewParam.kt @@ -27,7 +27,7 @@ private data class PreviewInvitePeopleState( override val isSearchActive: Boolean, override val sendInvitesAction: AsyncAction, override val createRoomFromDmAction: AsyncAction, - override val eventSink: (InvitePeopleEvents) -> Unit, + override val eventSink: (InvitePeopleEvent) -> Unit, ) : InvitePeopleState private fun aPreviewInvitePeopleState( @@ -35,7 +35,7 @@ private fun aPreviewInvitePeopleState( isSearchActive: Boolean = false, sendInvitesAction: AsyncAction = AsyncAction.Uninitialized, createRoomFromDmAction: AsyncAction = AsyncAction.Uninitialized, - eventSink: (InvitePeopleEvents) -> Unit = {}, + eventSink: (InvitePeopleEvent) -> Unit = {}, ) = PreviewInvitePeopleState( canInvite = canInvite, isSearchActive = isSearchActive, diff --git a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleEvents.kt b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleEvents.kt index 449d0ce6ac..0b6df9134f 100644 --- a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleEvents.kt +++ b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleEvents.kt @@ -8,10 +8,10 @@ package io.element.android.features.invitepeople.impl -import io.element.android.features.invitepeople.api.InvitePeopleEvents +import io.element.android.features.invitepeople.api.InvitePeopleEvent import io.element.android.libraries.matrix.api.user.MatrixUser -sealed interface DefaultInvitePeopleEvents : InvitePeopleEvents { +sealed interface DefaultInvitePeopleEvents : InvitePeopleEvent { data class ToggleUser(val user: MatrixUser) : DefaultInvitePeopleEvents data class OnSearchActiveChanged(val active: Boolean) : DefaultInvitePeopleEvents data object DismissUnknownUsersModal : DefaultInvitePeopleEvents diff --git a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenter.kt b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenter.kt index 79cd0c83be..186de83444 100644 --- a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenter.kt +++ b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenter.kt @@ -24,7 +24,7 @@ import dev.zacsweers.metro.Assisted import dev.zacsweers.metro.AssistedFactory import dev.zacsweers.metro.AssistedInject import dev.zacsweers.metro.ContributesBinding -import io.element.android.features.invitepeople.api.InvitePeopleEvents +import io.element.android.features.invitepeople.api.InvitePeopleEvent import io.element.android.features.invitepeople.api.InvitePeoplePresenter import io.element.android.features.invitepeople.api.InvitePeopleState import io.element.android.libraries.architecture.AsyncAction @@ -179,7 +179,7 @@ class DefaultInvitePeoplePresenter( ) } - fun handleEvent(event: InvitePeopleEvents) { + fun handleEvent(event: InvitePeopleEvent) { when (event) { // Dedicated `when` for exhaustivity. is DefaultInvitePeopleEvents -> when (event) { @@ -207,7 +207,7 @@ class DefaultInvitePeoplePresenter( sendInvitesAction.value = AsyncAction.Uninitialized } } - is InvitePeopleEvents.SendInvites -> { + is InvitePeopleEvent.SendInvites -> { if (unknownUsers.isNotEmpty() && sendInvitesAction.value !is ConfirmingUnknownUserInvitation) { sendInvitesAction.value = ConfirmingUnknownUserInvitation( unknownUsers @@ -224,11 +224,11 @@ class DefaultInvitePeoplePresenter( } } } - is InvitePeopleEvents.CloseSearch -> { + is InvitePeopleEvent.CloseSearch -> { searchActive = false queryState.clearText() } - is InvitePeopleEvents.ClearError -> { + is InvitePeopleEvent.ClearError -> { sendInvitesAction.value = AsyncAction.Uninitialized createRoomFromDmAction.value = AsyncAction.Uninitialized } diff --git a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleState.kt b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleState.kt index 46e5d9f1a5..f1058d1a1b 100644 --- a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleState.kt +++ b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleState.kt @@ -9,7 +9,7 @@ package io.element.android.features.invitepeople.impl import androidx.compose.foundation.text.input.TextFieldState -import io.element.android.features.invitepeople.api.InvitePeopleEvents +import io.element.android.features.invitepeople.api.InvitePeopleEvent import io.element.android.features.invitepeople.api.InvitePeopleState import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData @@ -29,5 +29,5 @@ data class DefaultInvitePeopleState( override val sendInvitesAction: AsyncAction, override val createRoomFromDmAction: AsyncAction, val suggestions: ImmutableList, - override val eventSink: (InvitePeopleEvents) -> Unit + override val eventSink: (InvitePeopleEvent) -> Unit ) : InvitePeopleState diff --git a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt index 7dced41b13..053abd6baa 100644 --- a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt +++ b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt @@ -30,7 +30,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons -import io.element.android.features.invitepeople.api.InvitePeopleEvents +import io.element.android.features.invitepeople.api.InvitePeopleEvent import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.atomic.molecules.ButtonRowMolecule import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule @@ -164,7 +164,7 @@ private fun InvitePeopleContentView( InvitePeopleConfirmModal( users = state.sendInvitesAction.users, onDismiss = { state.eventSink.invoke(DefaultInvitePeopleEvents.DismissUnknownUsersModal) }, - onInvite = { state.eventSink.invoke(InvitePeopleEvents.SendInvites) }, + onInvite = { state.eventSink.invoke(InvitePeopleEvent.SendInvites) }, onRemove = { state.eventSink.invoke(DefaultInvitePeopleEvents.RemoveUnknownUsers) } ) } diff --git a/features/invitepeople/impl/src/test/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenterTest.kt b/features/invitepeople/impl/src/test/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenterTest.kt index 922fa73060..5087ec6eea 100644 --- a/features/invitepeople/impl/src/test/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenterTest.kt +++ b/features/invitepeople/impl/src/test/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenterTest.kt @@ -11,7 +11,7 @@ package io.element.android.features.invitepeople.impl import androidx.compose.foundation.text.input.setTextAndPlaceCursorAtEnd import app.cash.turbine.ReceiveTurbine import com.google.common.truth.Truth.assertThat -import io.element.android.features.invitepeople.api.InvitePeopleEvents +import io.element.android.features.invitepeople.api.InvitePeopleEvent import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.designsystem.theme.components.SearchBarResultState @@ -94,7 +94,7 @@ internal class DefaultInvitePeoplePresenterTest { assertThat(resultState.isSearchActive).isTrue() resultState.searchQuery.setTextAndPlaceCursorAtEnd("some query") assertThat(awaitItemAsDefault().searchQuery.text.toString()).isEqualTo("some query") - resultState.eventSink(InvitePeopleEvents.CloseSearch) + resultState.eventSink(InvitePeopleEvent.CloseSearch) skipItems(1) awaitItemAsDefault().also { assertThat(it.isSearchActive).isFalse() @@ -420,7 +420,7 @@ internal class DefaultInvitePeoplePresenterTest { // The results are updated... assertThat(resultState.searchResults).isInstanceOf(SearchBarResultState.Results::class.java) // Send invites - initialState.eventSink(InvitePeopleEvents.SendInvites) + initialState.eventSink(InvitePeopleEvent.SendInvites) // Can't invite in the loading state awaitItem().run { @@ -474,7 +474,7 @@ internal class DefaultInvitePeoplePresenterTest { // The results are updated... assertThat(resultState.searchResults).isInstanceOf(SearchBarResultState.Results::class.java) // Send invites - initialState.eventSink(InvitePeopleEvents.SendInvites) + initialState.eventSink(InvitePeopleEvent.SendInvites) // Can't invite in the loading state awaitItem().run { @@ -655,7 +655,7 @@ internal class DefaultInvitePeoplePresenterTest { // If we do not have their identity cached, or fail to fetch it, we should mark them as unknown. awaitItemAsDefault().run { assertThat(selectedUsers).containsExactly(alice, bob, charlie) - eventSink(InvitePeopleEvents.SendInvites) + eventSink(InvitePeopleEvent.SendInvites) } getUserIdentityResult.assertions().isCalledExactly(3).withSequence( @@ -668,7 +668,7 @@ internal class DefaultInvitePeoplePresenterTest { awaitItemAsDefault().run { assertThat(sendInvitesAction).isInstanceOf(ConfirmingUnknownUserInvitation::class.java) assertThat(canInvite).isTrue() - eventSink(InvitePeopleEvents.SendInvites) + eventSink(InvitePeopleEvent.SendInvites) } delay(1_000) @@ -738,7 +738,7 @@ internal class DefaultInvitePeoplePresenterTest { searchResults.users().map { Pair(it.matrixUser, it.isSelected) } ).containsExactly(Pair(alice, true), Pair(bob, true)) - eventSink(InvitePeopleEvents.SendInvites) + eventSink(InvitePeopleEvent.SendInvites) } getUserIdentityResult.assertions().isCalledExactly(3).withSequence( @@ -803,7 +803,7 @@ internal class DefaultInvitePeoplePresenterTest { awaitItemAsDefault().run { assertThat(selectedUsers).containsExactly(alice, bob, charlie) - eventSink(InvitePeopleEvents.SendInvites) + eventSink(InvitePeopleEvent.SendInvites) } getUserIdentityResult.assertions().isCalledExactly(3).withSequence( @@ -856,7 +856,7 @@ internal class DefaultInvitePeoplePresenterTest { initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(alice)) // And we send the invites - initialState.eventSink(InvitePeopleEvents.SendInvites) + initialState.eventSink(InvitePeopleEvent.SendInvites) skipItems(1) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersNode.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersNode.kt index 3919817313..87d0ca7ace 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersNode.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersNode.kt @@ -20,7 +20,7 @@ import dev.zacsweers.metro.Assisted import dev.zacsweers.metro.AssistedInject import im.vector.app.features.analytics.plan.MobileScreen import io.element.android.annotations.ContributesNode -import io.element.android.features.invitepeople.api.InvitePeopleEvents +import io.element.android.features.invitepeople.api.InvitePeopleEvent import io.element.android.features.invitepeople.api.InvitePeoplePresenter import io.element.android.features.invitepeople.api.InvitePeopleRenderer import io.element.android.libraries.architecture.callback @@ -81,7 +81,7 @@ class RoomInviteMembersNode( ProgressDialog(text = stringResource(CommonStrings.common_creating_room)) }, onErrorDismiss = { - state.eventSink(InvitePeopleEvents.ClearError) + state.eventSink(InvitePeopleEvent.ClearError) } ) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt index d00a4e159a..ba9d2b4498 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme -import io.element.android.features.invitepeople.api.InvitePeopleEvents +import io.element.android.features.invitepeople.api.InvitePeopleEvent import io.element.android.features.invitepeople.api.InvitePeopleState import io.element.android.features.invitepeople.api.InvitePeopleStatePreviewParam import io.element.android.features.roomdetails.impl.R @@ -49,13 +49,13 @@ fun RoomInviteMembersView( RoomInviteMembersTopBar( onBackClick = { if (state.isSearchActive) { - state.eventSink(InvitePeopleEvents.CloseSearch) + state.eventSink(InvitePeopleEvent.CloseSearch) } else { onBackClick() } }, onSubmitClick = { - state.eventSink(InvitePeopleEvents.SendInvites) + state.eventSink(InvitePeopleEvent.SendInvites) }, canSend = state.canInvite, )