mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:55:41 +00:00
InternalRoomMemberModerationEvents -> InternalRoomMemberModerationEvent
This commit is contained in:
+5
-5
@@ -10,9 +10,9 @@ package io.element.android.features.roommembermoderation.impl
|
|||||||
|
|
||||||
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
import io.element.android.features.roommembermoderation.api.RoomMemberModerationEvent
|
||||||
|
|
||||||
sealed interface InternalRoomMemberModerationEvents : RoomMemberModerationEvent {
|
sealed interface InternalRoomMemberModerationEvent : RoomMemberModerationEvent {
|
||||||
data class DoKickUser(val reason: String) : InternalRoomMemberModerationEvents
|
data class DoKickUser(val reason: String) : InternalRoomMemberModerationEvent
|
||||||
data class DoBanUser(val reason: String) : InternalRoomMemberModerationEvents
|
data class DoBanUser(val reason: String) : InternalRoomMemberModerationEvent
|
||||||
data class DoUnbanUser(val reason: String) : InternalRoomMemberModerationEvents
|
data class DoUnbanUser(val reason: String) : InternalRoomMemberModerationEvent
|
||||||
data object Reset : InternalRoomMemberModerationEvents
|
data object Reset : InternalRoomMemberModerationEvent
|
||||||
}
|
}
|
||||||
+4
-4
@@ -110,25 +110,25 @@ class RoomMemberModerationPresenter(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is InternalRoomMemberModerationEvents.DoKickUser -> {
|
is InternalRoomMemberModerationEvent.DoKickUser -> {
|
||||||
selectedUser?.let {
|
selectedUser?.let {
|
||||||
coroutineScope.kickUser(it.userId, event.reason, kickUserAsyncAction)
|
coroutineScope.kickUser(it.userId, event.reason, kickUserAsyncAction)
|
||||||
}
|
}
|
||||||
selectedUser = null
|
selectedUser = null
|
||||||
}
|
}
|
||||||
is InternalRoomMemberModerationEvents.DoBanUser -> {
|
is InternalRoomMemberModerationEvent.DoBanUser -> {
|
||||||
selectedUser?.let {
|
selectedUser?.let {
|
||||||
coroutineScope.banUser(it.userId, event.reason, banUserAsyncAction)
|
coroutineScope.banUser(it.userId, event.reason, banUserAsyncAction)
|
||||||
}
|
}
|
||||||
selectedUser = null
|
selectedUser = null
|
||||||
}
|
}
|
||||||
is InternalRoomMemberModerationEvents.DoUnbanUser -> {
|
is InternalRoomMemberModerationEvent.DoUnbanUser -> {
|
||||||
selectedUser?.let {
|
selectedUser?.let {
|
||||||
coroutineScope.unbanUser(it.userId, event.reason, unbanUserAsyncAction)
|
coroutineScope.unbanUser(it.userId, event.reason, unbanUserAsyncAction)
|
||||||
}
|
}
|
||||||
selectedUser = null
|
selectedUser = null
|
||||||
}
|
}
|
||||||
is InternalRoomMemberModerationEvents.Reset -> {
|
is InternalRoomMemberModerationEvent.Reset -> {
|
||||||
selectedUser = null
|
selectedUser = null
|
||||||
moderationActions.value = persistentListOf()
|
moderationActions.value = persistentListOf()
|
||||||
kickUserAsyncAction.value = AsyncAction.Uninitialized
|
kickUserAsyncAction.value = AsyncAction.Uninitialized
|
||||||
|
|||||||
+7
-7
@@ -77,7 +77,7 @@ fun RoomMemberModerationView(
|
|||||||
actions = state.actions,
|
actions = state.actions,
|
||||||
onSelectAction = onSelectAction,
|
onSelectAction = onSelectAction,
|
||||||
onAvatarClick = onAvatarClick,
|
onAvatarClick = onAvatarClick,
|
||||||
onDismiss = { state.eventSink(InternalRoomMemberModerationEvents.Reset) },
|
onDismiss = { state.eventSink(InternalRoomMemberModerationEvent.Reset) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
RoomMemberAsyncActions(state = state)
|
RoomMemberAsyncActions(state = state)
|
||||||
@@ -102,9 +102,9 @@ private fun RoomMemberAsyncActions(
|
|||||||
destructiveSubmit = true,
|
destructiveSubmit = true,
|
||||||
minLines = 2,
|
minLines = 2,
|
||||||
onSubmit = { reason ->
|
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),
|
placeholder = stringResource(id = CommonStrings.common_reason),
|
||||||
content = stringResource(R.string.screen_bottom_sheet_manage_room_member_kick_member_confirmation_description),
|
content = stringResource(R.string.screen_bottom_sheet_manage_room_member_kick_member_confirmation_description),
|
||||||
value = "",
|
value = "",
|
||||||
@@ -142,9 +142,9 @@ private fun RoomMemberAsyncActions(
|
|||||||
destructiveSubmit = true,
|
destructiveSubmit = true,
|
||||||
minLines = 2,
|
minLines = 2,
|
||||||
onSubmit = { reason ->
|
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),
|
placeholder = stringResource(id = CommonStrings.common_reason),
|
||||||
content = stringResource(R.string.screen_bottom_sheet_manage_room_member_ban_member_confirmation_description),
|
content = stringResource(R.string.screen_bottom_sheet_manage_room_member_ban_member_confirmation_description),
|
||||||
value = "",
|
value = "",
|
||||||
@@ -185,9 +185,9 @@ private fun RoomMemberAsyncActions(
|
|||||||
asyncIndicatorState.enqueue {
|
asyncIndicatorState.enqueue {
|
||||||
AsyncIndicator.Loading(text = stringResource(R.string.screen_bottom_sheet_manage_room_member_unbanning_user, userDisplayName))
|
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),
|
placeholder = stringResource(id = CommonStrings.common_reason),
|
||||||
content = stringResource(R.string.screen_bottom_sheet_manage_room_member_unban_member_confirmation_description),
|
content = stringResource(R.string.screen_bottom_sheet_manage_room_member_unban_member_confirmation_description),
|
||||||
value = "",
|
value = "",
|
||||||
|
|||||||
+5
-5
@@ -241,7 +241,7 @@ class RoomMemberModerationPresenterTest {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
initialState.eventSink(InternalRoomMemberModerationEvents.DoKickUser("Reason"))
|
initialState.eventSink(InternalRoomMemberModerationEvent.DoKickUser("Reason"))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
val loadingState = awaitState()
|
val loadingState = awaitState()
|
||||||
assertThat(loadingState.kickUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
assertThat(loadingState.kickUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
||||||
@@ -271,7 +271,7 @@ class RoomMemberModerationPresenterTest {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
initialState.eventSink(InternalRoomMemberModerationEvents.DoBanUser("Reason"))
|
initialState.eventSink(InternalRoomMemberModerationEvent.DoBanUser("Reason"))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
val loadingState = awaitState()
|
val loadingState = awaitState()
|
||||||
assertThat(loadingState.banUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
assertThat(loadingState.banUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
||||||
@@ -301,7 +301,7 @@ class RoomMemberModerationPresenterTest {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
initialState.eventSink(InternalRoomMemberModerationEvents.DoUnbanUser("Reason"))
|
initialState.eventSink(InternalRoomMemberModerationEvent.DoUnbanUser("Reason"))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
val loadingState = awaitState()
|
val loadingState = awaitState()
|
||||||
assertThat(loadingState.unbanUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
assertThat(loadingState.unbanUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
||||||
@@ -326,7 +326,7 @@ class RoomMemberModerationPresenterTest {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
initialState.eventSink(InternalRoomMemberModerationEvents.DoKickUser("Reason"))
|
initialState.eventSink(InternalRoomMemberModerationEvent.DoKickUser("Reason"))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
val loadingState = awaitState()
|
val loadingState = awaitState()
|
||||||
assertThat(loadingState.kickUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
assertThat(loadingState.kickUserAsyncAction).isInstanceOf(AsyncAction.Loading::class.java)
|
||||||
@@ -343,7 +343,7 @@ class RoomMemberModerationPresenterTest {
|
|||||||
RoomMemberModerationEvent.ProcessAction(targetUser = targetUser, action = ModerationAction.BanUser)
|
RoomMemberModerationEvent.ProcessAction(targetUser = targetUser, action = ModerationAction.BanUser)
|
||||||
)
|
)
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
initialState.eventSink(InternalRoomMemberModerationEvents.Reset)
|
initialState.eventSink(InternalRoomMemberModerationEvent.Reset)
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
val resetState = awaitState()
|
val resetState = awaitState()
|
||||||
assertThat(resetState.selectedUser).isNull()
|
assertThat(resetState.selectedUser).isNull()
|
||||||
|
|||||||
+6
-6
@@ -126,7 +126,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
pressTag(TestTags.dialogPositive.value)
|
pressTag(TestTags.dialogPositive.value)
|
||||||
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.DoKickUser(reason = ""))
|
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.DoKickUser(reason = ""))
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -140,7 +140,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
pressTag(TestTags.dialogNegative.value)
|
pressTag(TestTags.dialogNegative.value)
|
||||||
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.Reset)
|
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.Reset)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -154,7 +154,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
pressTag(TestTags.dialogPositive.value)
|
pressTag(TestTags.dialogPositive.value)
|
||||||
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.DoBanUser(reason = ""))
|
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.DoBanUser(reason = ""))
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -168,7 +168,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
pressTag(TestTags.dialogNegative.value)
|
pressTag(TestTags.dialogNegative.value)
|
||||||
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.Reset)
|
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.Reset)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -182,7 +182,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
pressTag(TestTags.dialogPositive.value)
|
pressTag(TestTags.dialogPositive.value)
|
||||||
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.DoUnbanUser(""))
|
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.DoUnbanUser(""))
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -196,7 +196,7 @@ class RoomMemberModerationViewTest : RobolectricTest() {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
pressTag(TestTags.dialogNegative.value)
|
pressTag(TestTags.dialogNegative.value)
|
||||||
eventsRecorder.assertSingle(InternalRoomMemberModerationEvents.Reset)
|
eventsRecorder.assertSingle(InternalRoomMemberModerationEvent.Reset)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user