PollHistory : use the regular timeline instead of pollHistory timeline as not working properly.

This commit is contained in:
ganfra 2023-12-12 16:17:05 +01:00
parent 960945de34
commit 01ec3e85e4

View file

@ -34,7 +34,6 @@ import io.element.android.features.poll.impl.history.model.PollHistoryItemsFacto
import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoom
import io.element.android.libraries.matrix.api.timeline.MatrixTimeline import io.element.android.libraries.matrix.api.timeline.MatrixTimeline
import io.element.android.libraries.matrix.ui.room.rememberPollHistory
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -50,10 +49,11 @@ class PollHistoryPresenter @Inject constructor(
@Composable @Composable
override fun present(): PollHistoryState { override fun present(): PollHistoryState {
val pollHistory = room.rememberPollHistory() // TODO use room.rememberPollHistory() when working properly?
val paginationState by pollHistory.paginationState.collectAsState() val timeline = room.timeline
val paginationState by timeline.paginationState.collectAsState()
val pollHistoryItemsFlow = remember { val pollHistoryItemsFlow = remember {
pollHistory.timelineItems.map { items -> timeline.timelineItems.map { items ->
pollHistoryItemFactory.create(items) pollHistoryItemFactory.create(items)
} }
} }
@ -62,7 +62,7 @@ class PollHistoryPresenter @Inject constructor(
} }
val pollHistoryItems by pollHistoryItemsFlow.collectAsState(initial = PollHistoryItems()) val pollHistoryItems by pollHistoryItemsFlow.collectAsState(initial = PollHistoryItems())
LaunchedEffect(paginationState, pollHistoryItems.size) { LaunchedEffect(paginationState, pollHistoryItems.size) {
if (pollHistoryItems.size == 0 && paginationState.canBackPaginate) loadMore(pollHistory) if (pollHistoryItems.size == 0 && paginationState.canBackPaginate) loadMore(timeline)
} }
val isLoading by remember { val isLoading by remember {
derivedStateOf { derivedStateOf {
@ -73,7 +73,7 @@ class PollHistoryPresenter @Inject constructor(
fun handleEvents(event: PollHistoryEvents) { fun handleEvents(event: PollHistoryEvents) {
when (event) { when (event) {
is PollHistoryEvents.LoadMore -> { is PollHistoryEvents.LoadMore -> {
coroutineScope.loadMore(pollHistory) coroutineScope.loadMore(timeline)
} }
is PollHistoryEvents.PollAnswerSelected -> appCoroutineScope.launch { is PollHistoryEvents.PollAnswerSelected -> appCoroutineScope.launch {
sendPollResponseAction.execute(pollStartId = event.pollStartId, answerId = event.answerId) sendPollResponseAction.execute(pollStartId = event.pollStartId, answerId = event.answerId)