Simplify the presenter

This commit is contained in:
Benoit Marty 2025-10-28 18:21:06 +01:00
parent 700362a266
commit 2fe3bfb3bc

View file

@ -21,8 +21,6 @@ import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.timeline.TimelineProvider import io.element.android.libraries.matrix.api.timeline.TimelineProvider
import io.element.android.libraries.matrix.api.timeline.getActiveTimeline import io.element.android.libraries.matrix.api.timeline.getActiveTimeline
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -43,7 +41,7 @@ class ForwardMessagesPresenter(
private val forwardingActionState: MutableState<AsyncAction<List<RoomId>>> = mutableStateOf(AsyncAction.Uninitialized) private val forwardingActionState: MutableState<AsyncAction<List<RoomId>>> = mutableStateOf(AsyncAction.Uninitialized)
fun onRoomSelected(roomIds: List<RoomId>) { fun onRoomSelected(roomIds: List<RoomId>) {
sessionCoroutineScope.forwardEvent(eventId, roomIds.toImmutableList(), forwardingActionState) sessionCoroutineScope.forwardEvent(eventId, roomIds)
} }
@Composable @Composable
@ -62,12 +60,11 @@ class ForwardMessagesPresenter(
private fun CoroutineScope.forwardEvent( private fun CoroutineScope.forwardEvent(
eventId: EventId, eventId: EventId,
roomIds: ImmutableList<RoomId>, roomIds: List<RoomId>,
isForwardMessagesState: MutableState<AsyncAction<List<RoomId>>>,
) = launch { ) = launch {
suspend { suspend {
timelineProvider.getActiveTimeline().forwardEvent(eventId, roomIds).getOrThrow() timelineProvider.getActiveTimeline().forwardEvent(eventId, roomIds).getOrThrow()
roomIds roomIds
}.runCatchingUpdatingState(isForwardMessagesState) }.runCatchingUpdatingState(forwardingActionState)
} }
} }