Some renaming for clarity, especially "RemoveFailed" was not clear, developer may think the that removing has failed.
This commit is contained in:
parent
4e5a202a75
commit
e32dd73e8e
4 changed files with 21 additions and 18 deletions
|
|
@ -20,7 +20,7 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||||
|
|
||||||
sealed interface RetrySendMenuEvents {
|
sealed interface RetrySendMenuEvents {
|
||||||
data class EventSelected(val event: TimelineItem.Event) : RetrySendMenuEvents
|
data class EventSelected(val event: TimelineItem.Event) : RetrySendMenuEvents
|
||||||
data object RetrySend : RetrySendMenuEvents
|
data object Retry : RetrySendMenuEvents
|
||||||
data object RemoveFailed : RetrySendMenuEvents
|
data object Remove : RetrySendMenuEvents
|
||||||
data object Dismiss : RetrySendMenuEvents
|
data object Dismiss : RetrySendMenuEvents
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ class RetrySendMenuPresenter @Inject constructor(
|
||||||
is RetrySendMenuEvents.EventSelected -> {
|
is RetrySendMenuEvents.EventSelected -> {
|
||||||
selectedEvent = event.event
|
selectedEvent = event.event
|
||||||
}
|
}
|
||||||
RetrySendMenuEvents.RetrySend -> {
|
RetrySendMenuEvents.Retry -> {
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
selectedEvent?.transactionId?.let { transactionId ->
|
selectedEvent?.transactionId?.let { transactionId ->
|
||||||
room.retrySendMessage(transactionId)
|
room.retrySendMessage(transactionId)
|
||||||
|
|
@ -49,7 +49,7 @@ class RetrySendMenuPresenter @Inject constructor(
|
||||||
selectedEvent = null
|
selectedEvent = null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
RetrySendMenuEvents.RemoveFailed -> {
|
RetrySendMenuEvents.Remove -> {
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
selectedEvent?.transactionId?.let { transactionId ->
|
selectedEvent?.transactionId?.let { transactionId ->
|
||||||
room.cancelSend(transactionId)
|
room.cancelSend(transactionId)
|
||||||
|
|
|
||||||
|
|
@ -53,18 +53,18 @@ internal fun RetrySendMessageMenu(
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onRetry() {
|
fun onRetry() {
|
||||||
state.eventSink(RetrySendMenuEvents.RetrySend)
|
state.eventSink(RetrySendMenuEvents.Retry)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onRemoveFailed() {
|
fun onRemove() {
|
||||||
state.eventSink(RetrySendMenuEvents.RemoveFailed)
|
state.eventSink(RetrySendMenuEvents.Remove)
|
||||||
}
|
}
|
||||||
|
|
||||||
RetrySendMessageMenuBottomSheet(
|
RetrySendMessageMenuBottomSheet(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
isVisible = isVisible,
|
isVisible = isVisible,
|
||||||
onRetry = ::onRetry,
|
onRetry = ::onRetry,
|
||||||
onRemoveFailed = ::onRemoveFailed,
|
onRemove = ::onRemove,
|
||||||
onDismiss = ::onDismiss
|
onDismiss = ::onDismiss
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -74,7 +74,7 @@ internal fun RetrySendMessageMenu(
|
||||||
private fun RetrySendMessageMenuBottomSheet(
|
private fun RetrySendMessageMenuBottomSheet(
|
||||||
isVisible: Boolean,
|
isVisible: Boolean,
|
||||||
onRetry: () -> Unit,
|
onRetry: () -> Unit,
|
||||||
onRemoveFailed: () -> Unit,
|
onRemove: () -> Unit,
|
||||||
onDismiss: () -> Unit,
|
onDismiss: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
|
|
@ -94,7 +94,10 @@ private fun RetrySendMessageMenuBottomSheet(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
RetrySendMenuContents(onRetry = onRetry, onRemoveFailed = onRemoveFailed)
|
RetrySendMenuContents(
|
||||||
|
onRetry = onRetry,
|
||||||
|
onRemove = onRemove,
|
||||||
|
)
|
||||||
// FIXME remove after https://issuetracker.google.com/issues/275849044
|
// FIXME remove after https://issuetracker.google.com/issues/275849044
|
||||||
Spacer(modifier = Modifier.height(32.dp))
|
Spacer(modifier = Modifier.height(32.dp))
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +108,7 @@ private fun RetrySendMessageMenuBottomSheet(
|
||||||
@Composable
|
@Composable
|
||||||
private fun ColumnScope.RetrySendMenuContents(
|
private fun ColumnScope.RetrySendMenuContents(
|
||||||
onRetry: () -> Unit,
|
onRetry: () -> Unit,
|
||||||
onRemoveFailed: () -> Unit,
|
onRemove: () -> Unit,
|
||||||
sheetState: SheetState = rememberModalBottomSheetState(),
|
sheetState: SheetState = rememberModalBottomSheetState(),
|
||||||
) {
|
) {
|
||||||
val coroutineScope = rememberCoroutineScope()
|
val coroutineScope = rememberCoroutineScope()
|
||||||
|
|
@ -141,7 +144,7 @@ private fun ColumnScope.RetrySendMenuContents(
|
||||||
modifier = Modifier.clickable {
|
modifier = Modifier.clickable {
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
sheetState.hide()
|
sheetState.hide()
|
||||||
onRemoveFailed()
|
onRemove()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ class RetrySendMenuPresenterTests {
|
||||||
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
|
|
||||||
initialState.eventSink(RetrySendMenuEvents.RetrySend)
|
initialState.eventSink(RetrySendMenuEvents.Retry)
|
||||||
assertThat(room.retrySendMessageCount).isEqualTo(1)
|
assertThat(room.retrySendMessageCount).isEqualTo(1)
|
||||||
assertThat(awaitItem().selectedEvent).isNull()
|
assertThat(awaitItem().selectedEvent).isNull()
|
||||||
}
|
}
|
||||||
|
|
@ -89,7 +89,7 @@ class RetrySendMenuPresenterTests {
|
||||||
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
|
|
||||||
initialState.eventSink(RetrySendMenuEvents.RetrySend)
|
initialState.eventSink(RetrySendMenuEvents.Retry)
|
||||||
assertThat(room.retrySendMessageCount).isEqualTo(0)
|
assertThat(room.retrySendMessageCount).isEqualTo(0)
|
||||||
assertThat(awaitItem().selectedEvent).isNull()
|
assertThat(awaitItem().selectedEvent).isNull()
|
||||||
}
|
}
|
||||||
|
|
@ -106,7 +106,7 @@ class RetrySendMenuPresenterTests {
|
||||||
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
|
|
||||||
initialState.eventSink(RetrySendMenuEvents.RetrySend)
|
initialState.eventSink(RetrySendMenuEvents.Retry)
|
||||||
assertThat(room.retrySendMessageCount).isEqualTo(1)
|
assertThat(room.retrySendMessageCount).isEqualTo(1)
|
||||||
assertThat(awaitItem().selectedEvent).isNull()
|
assertThat(awaitItem().selectedEvent).isNull()
|
||||||
}
|
}
|
||||||
|
|
@ -122,7 +122,7 @@ class RetrySendMenuPresenterTests {
|
||||||
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
|
|
||||||
initialState.eventSink(RetrySendMenuEvents.RemoveFailed)
|
initialState.eventSink(RetrySendMenuEvents.Remove)
|
||||||
assertThat(room.cancelSendCount).isEqualTo(1)
|
assertThat(room.cancelSendCount).isEqualTo(1)
|
||||||
assertThat(awaitItem().selectedEvent).isNull()
|
assertThat(awaitItem().selectedEvent).isNull()
|
||||||
}
|
}
|
||||||
|
|
@ -138,7 +138,7 @@ class RetrySendMenuPresenterTests {
|
||||||
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
|
|
||||||
initialState.eventSink(RetrySendMenuEvents.RemoveFailed)
|
initialState.eventSink(RetrySendMenuEvents.Remove)
|
||||||
assertThat(room.cancelSendCount).isEqualTo(0)
|
assertThat(room.cancelSendCount).isEqualTo(0)
|
||||||
assertThat(awaitItem().selectedEvent).isNull()
|
assertThat(awaitItem().selectedEvent).isNull()
|
||||||
}
|
}
|
||||||
|
|
@ -155,7 +155,7 @@ class RetrySendMenuPresenterTests {
|
||||||
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
initialState.eventSink(RetrySendMenuEvents.EventSelected(selectedEvent))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
|
|
||||||
initialState.eventSink(RetrySendMenuEvents.RemoveFailed)
|
initialState.eventSink(RetrySendMenuEvents.Remove)
|
||||||
assertThat(room.cancelSendCount).isEqualTo(1)
|
assertThat(room.cancelSendCount).isEqualTo(1)
|
||||||
assertThat(awaitItem().selectedEvent).isNull()
|
assertThat(awaitItem().selectedEvent).isNull()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue