No actions (yet) for State Event.

This commit is contained in:
Benoit Marty 2023-05-17 17:16:01 +02:00 committed by Benoit Marty
parent e81d20ec2e
commit e886312ff6

View file

@ -24,6 +24,7 @@ import androidx.compose.runtime.rememberCoroutineScope
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.TimelineItem
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemRedactedContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemRedactedContent
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStateContent
import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.Presenter
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
@ -53,12 +54,16 @@ class ActionListPresenter @Inject constructor() : Presenter<ActionListState> {
) )
} }
fun CoroutineScope.computeForMessage(timelineItem: TimelineItem.Event, target: MutableState<ActionListState.Target>) = launch { private fun CoroutineScope.computeForMessage(timelineItem: TimelineItem.Event, target: MutableState<ActionListState.Target>) = launch {
target.value = ActionListState.Target.Loading(timelineItem) target.value = ActionListState.Target.Loading(timelineItem)
val actions = val actions =
if (timelineItem.content is TimelineItemRedactedContent) { when (timelineItem.content) {
is TimelineItemRedactedContent,
is TimelineItemStateContent -> {
// TODO Add Share action (also) here, and developer options
emptyList() emptyList()
} else { }
else -> {
mutableListOf( mutableListOf(
TimelineItemAction.Reply, TimelineItemAction.Reply,
TimelineItemAction.Forward, TimelineItemAction.Forward,
@ -70,6 +75,7 @@ class ActionListPresenter @Inject constructor() : Presenter<ActionListState> {
} }
} }
} }
}
target.value = ActionListState.Target.Success(timelineItem, actions.toImmutableList()) target.value = ActionListState.Target.Success(timelineItem, actions.toImmutableList())
} }
} }