From 55a7d278c9a4d7317587a9e3f2988cc614023072 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 25 Aug 2026 09:56:59 +0200 Subject: [PATCH] `DefaultInvitePeopleEvents` -> `DefaultInvitePeopleEvent` --- ...eEvents.kt => DefaultInvitePeopleEvent.kt} | 10 ++--- .../impl/DefaultInvitePeoplePresenter.kt | 10 ++--- .../invitepeople/impl/InvitePeopleView.kt | 10 ++--- .../impl/DefaultInvitePeoplePresenterTest.kt | 40 +++++++++---------- 4 files changed, 35 insertions(+), 35 deletions(-) rename features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/{DefaultInvitePeopleEvents.kt => DefaultInvitePeopleEvent.kt} (78%) 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/DefaultInvitePeopleEvent.kt similarity index 78% rename from features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleEvents.kt rename to features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleEvent.kt index 0b6df9134f..90d6fef59d 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/DefaultInvitePeopleEvent.kt @@ -11,9 +11,9 @@ package io.element.android.features.invitepeople.impl import io.element.android.features.invitepeople.api.InvitePeopleEvent import io.element.android.libraries.matrix.api.user.MatrixUser -sealed interface DefaultInvitePeopleEvents : InvitePeopleEvent { - data class ToggleUser(val user: MatrixUser) : DefaultInvitePeopleEvents - data class OnSearchActiveChanged(val active: Boolean) : DefaultInvitePeopleEvents - data object DismissUnknownUsersModal : DefaultInvitePeopleEvents - data object RemoveUnknownUsers : DefaultInvitePeopleEvents +sealed interface DefaultInvitePeopleEvent : InvitePeopleEvent { + data class ToggleUser(val user: MatrixUser) : DefaultInvitePeopleEvent + data class OnSearchActiveChanged(val active: Boolean) : DefaultInvitePeopleEvent + data object DismissUnknownUsersModal : DefaultInvitePeopleEvent + data object RemoveUnknownUsers : DefaultInvitePeopleEvent } 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 186de83444..dbf5c46291 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 @@ -182,23 +182,23 @@ class DefaultInvitePeoplePresenter( fun handleEvent(event: InvitePeopleEvent) { when (event) { // Dedicated `when` for exhaustivity. - is DefaultInvitePeopleEvents -> when (event) { - is DefaultInvitePeopleEvents.OnSearchActiveChanged -> { + is DefaultInvitePeopleEvent -> when (event) { + is DefaultInvitePeopleEvent.OnSearchActiveChanged -> { searchActive = event.active if (!event.active) { queryState.clearText() } } - is DefaultInvitePeopleEvents.ToggleUser -> { + is DefaultInvitePeopleEvent.ToggleUser -> { selectedUsers.toggleUser(event.user) searchResults.toggleUser(event.user) // suggestions will automatically update via derivedStateOf when selectedUsers changes } - is DefaultInvitePeopleEvents.DismissUnknownUsersModal -> { + is DefaultInvitePeopleEvent.DismissUnknownUsersModal -> { sendInvitesAction.value = AsyncAction.Uninitialized } - is DefaultInvitePeopleEvents.RemoveUnknownUsers -> { + is DefaultInvitePeopleEvent.RemoveUnknownUsers -> { val usersToRemove = selectedUsers.value.filter { it in unknownUsers } usersToRemove.forEach { user -> selectedUsers.toggleUser(user) 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 053abd6baa..4da2ec7cea 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 @@ -102,7 +102,7 @@ private fun InvitePeopleContentView( verticalArrangement = Arrangement.spacedBy(16.dp), ) { fun toggleUser(user: MatrixUser) { - state.eventSink(DefaultInvitePeopleEvents.ToggleUser(user)) + state.eventSink(DefaultInvitePeopleEvent.ToggleUser(user)) } InvitePeopleSearchBar( @@ -114,7 +114,7 @@ private fun InvitePeopleContentView( active = state.isSearchActive, onActiveChange = { state.eventSink( - DefaultInvitePeopleEvents.OnSearchActiveChanged( + DefaultInvitePeopleEvent.OnSearchActiveChanged( it ) ) @@ -144,7 +144,7 @@ private fun InvitePeopleContentView( CheckableUserRow( checked = invitableUser.isSelected, onCheckedChange = { - state.eventSink(DefaultInvitePeopleEvents.ToggleUser(invitableUser.matrixUser)) + state.eventSink(DefaultInvitePeopleEvent.ToggleUser(invitableUser.matrixUser)) }, data = CheckableUserRowData.Resolved( avatarData = invitableUser.matrixUser.getAvatarData(AvatarSize.UserListItem), @@ -163,9 +163,9 @@ private fun InvitePeopleContentView( if (state.sendInvitesAction is ConfirmingUnknownUserInvitation) { InvitePeopleConfirmModal( users = state.sendInvitesAction.users, - onDismiss = { state.eventSink.invoke(DefaultInvitePeopleEvents.DismissUnknownUsersModal) }, + onDismiss = { state.eventSink.invoke(DefaultInvitePeopleEvent.DismissUnknownUsersModal) }, onInvite = { state.eventSink.invoke(InvitePeopleEvent.SendInvites) }, - onRemove = { state.eventSink.invoke(DefaultInvitePeopleEvents.RemoveUnknownUsers) } + onRemove = { state.eventSink.invoke(DefaultInvitePeopleEvent.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 5087ec6eea..39cfc3afba 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 @@ -88,7 +88,7 @@ internal class DefaultInvitePeoplePresenterTest { val initialState = awaitItem() skipItems(1) - initialState.eventSink(DefaultInvitePeopleEvents.OnSearchActiveChanged(true)) + initialState.eventSink(DefaultInvitePeopleEvent.OnSearchActiveChanged(true)) val resultState = awaitItemAsDefault() assertThat(resultState.isSearchActive).isTrue() @@ -290,18 +290,18 @@ internal class DefaultInvitePeoplePresenterTest { skipItems(1) // When we toggle a user not in the list, they are added - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(aMatrixUser())) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(aMatrixUser())) assertThat(awaitItemAsDefault().selectedUsers).containsExactly(aMatrixUser()) // Toggling a different user also adds them - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(aMatrixUser(id = A_USER_ID_2.value))) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(aMatrixUser(id = A_USER_ID_2.value))) assertThat(awaitItemAsDefault().selectedUsers).containsExactly( aMatrixUser(), aMatrixUser(id = A_USER_ID_2.value) ) // Toggling the first user removes them - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(aMatrixUser())) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(aMatrixUser())) assertThat(awaitItemAsDefault().selectedUsers).containsExactly(aMatrixUser(id = A_USER_ID_2.value)) } } @@ -319,7 +319,7 @@ internal class DefaultInvitePeoplePresenterTest { val selectedUser = aMatrixUser(displayName = "John Doe") - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(selectedUser)) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(selectedUser)) initialState.searchQuery.setTextAndPlaceCursorAtEnd("some query") skipItems(1) @@ -373,7 +373,7 @@ internal class DefaultInvitePeoplePresenterTest { } // And then a user is toggled - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(selectedUser)) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(selectedUser)) skipItems(1) val resultState = awaitItemAsDefault() @@ -414,7 +414,7 @@ internal class DefaultInvitePeoplePresenterTest { repository.emitStateWithUsers(users = aMatrixUserList() + selectedUser) skipItems(1) // And then a user is toggled - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(selectedUser)) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(selectedUser)) skipItems(1) val resultState = awaitItemAsDefault() // The results are updated... @@ -468,7 +468,7 @@ internal class DefaultInvitePeoplePresenterTest { repository.emitStateWithUsers(users = aMatrixUserList() + selectedUser) skipItems(1) // And then a user is toggled - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(selectedUser)) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(selectedUser)) skipItems(1) val resultState = awaitItemAsDefault() // The results are updated... @@ -645,11 +645,11 @@ internal class DefaultInvitePeoplePresenterTest { skipItems(1) // When we toggle a user not in the list, they are added, and we fetch their identity. - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(alice)) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(alice)) delay(100) - awaitItemAsDefault().eventSink(DefaultInvitePeopleEvents.ToggleUser(bob)) + awaitItemAsDefault().eventSink(DefaultInvitePeopleEvent.ToggleUser(bob)) delay(100) - awaitItemAsDefault().eventSink(DefaultInvitePeopleEvents.ToggleUser(charlie)) + awaitItemAsDefault().eventSink(DefaultInvitePeopleEvent.ToggleUser(charlie)) delay(100) // If we do not have their identity cached, or fail to fetch it, we should mark them as unknown. @@ -712,11 +712,11 @@ internal class DefaultInvitePeoplePresenterTest { skipItems(1) // When we toggle a user not in the list, they are added, and we fetch their identity. - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(alice)) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(alice)) delay(100) - awaitItemAsDefault().eventSink(DefaultInvitePeopleEvents.ToggleUser(bob)) + awaitItemAsDefault().eventSink(DefaultInvitePeopleEvent.ToggleUser(bob)) delay(100) - awaitItemAsDefault().eventSink(DefaultInvitePeopleEvents.ToggleUser(charlie)) + awaitItemAsDefault().eventSink(DefaultInvitePeopleEvent.ToggleUser(charlie)) delay(100) // And the search is matching Alice and Bob @@ -751,7 +751,7 @@ internal class DefaultInvitePeoplePresenterTest { awaitItemAsDefault().run { assertThat(sendInvitesAction).isInstanceOf(ConfirmingUnknownUserInvitation::class.java) assertThat(canInvite).isTrue() - eventSink(DefaultInvitePeopleEvents.RemoveUnknownUsers) + eventSink(DefaultInvitePeopleEvent.RemoveUnknownUsers) } // Selecting "remove" should remove all unknown users, but keeps those who are known. @@ -794,11 +794,11 @@ internal class DefaultInvitePeoplePresenterTest { skipItems(1) // When we toggle a user not in the list, they are added, and we fetch their identity. - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(alice)) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(alice)) delay(100) - awaitItemAsDefault().eventSink(DefaultInvitePeopleEvents.ToggleUser(bob)) + awaitItemAsDefault().eventSink(DefaultInvitePeopleEvent.ToggleUser(bob)) delay(100) - awaitItemAsDefault().eventSink(DefaultInvitePeopleEvents.ToggleUser(charlie)) + awaitItemAsDefault().eventSink(DefaultInvitePeopleEvent.ToggleUser(charlie)) delay(100) awaitItemAsDefault().run { @@ -816,7 +816,7 @@ internal class DefaultInvitePeoplePresenterTest { awaitItemAsDefault().run { assertThat(sendInvitesAction).isInstanceOf(ConfirmingUnknownUserInvitation::class.java) assertThat(canInvite).isTrue() - eventSink(DefaultInvitePeopleEvents.DismissUnknownUsersModal) + eventSink(DefaultInvitePeopleEvent.DismissUnknownUsersModal) } // Dismissing should not modify the selection at all @@ -853,7 +853,7 @@ internal class DefaultInvitePeoplePresenterTest { skipItems(1) // We want to add a new user to a DM - initialState.eventSink(DefaultInvitePeopleEvents.ToggleUser(alice)) + initialState.eventSink(DefaultInvitePeopleEvent.ToggleUser(alice)) // And we send the invites initialState.eventSink(InvitePeopleEvent.SendInvites)