InternalRoomMemberModerationEvents -> InternalRoomMemberModerationEvent

This commit is contained in:
Benoit Marty
2026-08-25 10:19:06 +02:00
parent 17213ac93e
commit 4981a04519
5 changed files with 27 additions and 27 deletions
@@ -10,9 +10,9 @@ package io.element.android.features.roommembermoderation.impl
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
sealed interface InternalRoomMemberModerationEvents : RoomMemberModerationEvent {
data class DoKickUser(val reason: String) : InternalRoomMemberModerationEvents
data class DoBanUser(val reason: String) : InternalRoomMemberModerationEvents
data class DoUnbanUser(val reason: String) : InternalRoomMemberModerationEvents
data object Reset : InternalRoomMemberModerationEvents
sealed interface InternalRoomMemberModerationEvent : RoomMemberModerationEvent {
data class DoKickUser(val reason: String) : InternalRoomMemberModerationEvent
data class DoBanUser(val reason: String) : InternalRoomMemberModerationEvent
data class DoUnbanUser(val reason: String) : InternalRoomMemberModerationEvent
data object Reset : InternalRoomMemberModerationEvent
}
@@ -110,25 +110,25 @@ class RoomMemberModerationPresenter(
}
}
}
is InternalRoomMemberModerationEvents.DoKickUser -> {
is InternalRoomMemberModerationEvent.DoKickUser -> {
selectedUser?.let {
coroutineScope.kickUser(it.userId, event.reason, kickUserAsyncAction)
}
selectedUser = null
}
is InternalRoomMemberModerationEvents.DoBanUser -> {
is InternalRoomMemberModerationEvent.DoBanUser -> {
selectedUser?.let {
coroutineScope.banUser(it.userId, event.reason, banUserAsyncAction)
}
selectedUser = null
}
is InternalRoomMemberModerationEvents.DoUnbanUser -> {
is InternalRoomMemberModerationEvent.DoUnbanUser -> {
selectedUser?.let {
coroutineScope.unbanUser(it.userId, event.reason, unbanUserAsyncAction)
}
selectedUser = null
}
is InternalRoomMemberModerationEvents.Reset -> {
is InternalRoomMemberModerationEvent.Reset -> {
selectedUser = null
moderationActions.value = persistentListOf()
kickUserAsyncAction.value = AsyncAction.Uninitialized
@@ -77,7 +77,7 @@ fun RoomMemberModerationView(
actions = state.actions,
onSelectAction = onSelectAction,
onAvatarClick = onAvatarClick,
onDismiss = { state.eventSink(InternalRoomMemberModerationEvents.Reset) },
onDismiss = { state.eventSink(InternalRoomMemberModerationEvent.Reset) },
)
}
RoomMemberAsyncActions(state = state)
@@ -102,9 +102,9 @@ private fun RoomMemberAsyncActions(
destructiveSubmit = true,
minLines = 2,
onSubmit = { reason ->
state.eventSink(InternalRoomMemberModerationEvents.DoKickUser(reason = reason))
state.eventSink(InternalRoomMemberModerationEvent.DoKickUser(reason = reason))
},
onDismissRequest = { state.eventSink(InternalRoomMemberModerationEvents.Reset) },
onDismissRequest = { state.eventSink(InternalRoomMemberModerationEvent.Reset) },
placeholder = stringResource(id = CommonStrings.common_reason),
content = stringResource(R.string.screen_bottom_sheet_manage_room_member_kick_member_confirmation_description),
value = "",
@@ -142,9 +142,9 @@ private fun RoomMemberAsyncActions(
destructiveSubmit = true,
minLines = 2,
onSubmit = { reason ->
state.eventSink(InternalRoomMemberModerationEvents.DoBanUser(reason = reason))
state.eventSink(InternalRoomMemberModerationEvent.DoBanUser(reason = reason))
},
onDismissRequest = { state.eventSink(InternalRoomMemberModerationEvents.Reset) },
onDismissRequest = { state.eventSink(InternalRoomMemberModerationEvent.Reset) },
placeholder = stringResource(id = CommonStrings.common_reason),
content = stringResource(R.string.screen_bottom_sheet_manage_room_member_ban_member_confirmation_description),
value = "",
@@ -185,9 +185,9 @@ private fun RoomMemberAsyncActions(
asyncIndicatorState.enqueue {
AsyncIndicator.Loading(text = stringResource(R.string.screen_bottom_sheet_manage_room_member_unbanning_user, userDisplayName))
}
state.eventSink(InternalRoomMemberModerationEvents.DoUnbanUser(reason = reason))
state.eventSink(InternalRoomMemberModerationEvent.DoUnbanUser(reason = reason))
},
onDismissRequest = { state.eventSink(InternalRoomMemberModerationEvents.Reset) },
onDismissRequest = { state.eventSink(InternalRoomMemberModerationEvent.Reset) },
placeholder = stringResource(id = CommonStrings.common_reason),
content = stringResource(R.string.screen_bottom_sheet_manage_room_member_unban_member_confirmation_description),
value = "",
@@ -241,7 +241,7 @@ class RoomMemberModerationPresenterTest {
)
)
skipItems(2)
initialState.eventSink(InternalRoomMemberModerationEvents.DoKickUser("Reason"))
initialState.eventSink(InternalRoomMemberModerationEvent.DoKickUser("Reason"))
skipItems(1)
val loadingState = awaitState()
assertThat(loadingState.kickUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
@@ -271,7 +271,7 @@ class RoomMemberModerationPresenterTest {
)
)
skipItems(2)
initialState.eventSink(InternalRoomMemberModerationEvents.DoBanUser("Reason"))
initialState.eventSink(InternalRoomMemberModerationEvent.DoBanUser("Reason"))
skipItems(1)
val loadingState = awaitState()
assertThat(loadingState.banUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
@@ -301,7 +301,7 @@ class RoomMemberModerationPresenterTest {
)
)
skipItems(2)
initialState.eventSink(InternalRoomMemberModerationEvents.DoUnbanUser("Reason"))
initialState.eventSink(InternalRoomMemberModerationEvent.DoUnbanUser("Reason"))
skipItems(1)
val loadingState = awaitState()
assertThat(loadingState.unbanUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
@@ -326,7 +326,7 @@ class RoomMemberModerationPresenterTest {
)
)
skipItems(2)
initialState.eventSink(InternalRoomMemberModerationEvents.DoKickUser("Reason"))
initialState.eventSink(InternalRoomMemberModerationEvent.DoKickUser("Reason"))
skipItems(1)
val loadingState = awaitState()
assertThat(loadingState.kickUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
@@ -343,7 +343,7 @@ class RoomMemberModerationPresenterTest {
RoomMemberModerationEvent.ProcessAction(targetUser = targetUser, action = ModerationAction.BanUser)
)
skipItems(2)
initialState.eventSink(InternalRoomMemberModerationEvents.Reset)
initialState.eventSink(InternalRoomMemberModerationEvent.Reset)
skipItems(1)
val resetState = awaitState()
assertThat(resetState.selectedUser).isNull()
@@ -126,7 +126,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
),
)
pressTag(TestTags.dialogPositive.value)
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.DoKickUser(reason = ""))
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.DoKickUser(reason = ""))
}
@Test
@@ -140,7 +140,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
),
)
pressTag(TestTags.dialogNegative.value)
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.Reset)
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.Reset)
}
@Test
@@ -154,7 +154,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
),
)
pressTag(TestTags.dialogPositive.value)
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.DoBanUser(reason = ""))
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.DoBanUser(reason = ""))
}
@Test
@@ -168,7 +168,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
),
)
pressTag(TestTags.dialogNegative.value)
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.Reset)
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.Reset)
}
@Test
@@ -182,7 +182,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
),
)
pressTag(TestTags.dialogPositive.value)
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.DoUnbanUser(""))
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.DoUnbanUser(""))
}
@Test
@@ -196,7 +196,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
),
)
pressTag(TestTags.dialogNegative.value)
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.Reset)
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.Reset)
}
@Test