Timeline : makes sure we don't emit empty list when navigating back to timeline.

This commit is contained in:
ganfra 2024-09-18 14:01:24 +02:00
parent 05f2c71745
commit 1242316c05

View file

@ -17,6 +17,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
@ -81,6 +82,7 @@ class TimelinePresenter @AssistedInject constructor(
computeReactions = true,
)
)
private var timelineItems by mutableStateOf<ImmutableList<TimelineItem>>(persistentListOf())
@Composable
override fun present(): TimelineState {
@ -89,9 +91,12 @@ class TimelinePresenter @AssistedInject constructor(
mutableStateOf(FocusRequestState.None)
}
LaunchedEffect(Unit) {
timelineItemsFactory.timelineItems.collect { timelineItems = it }
}
val lastReadReceiptId = rememberSaveable { mutableStateOf<EventId?>(null) }
val timelineItems by timelineItemsFactory.timelineItems.collectAsState(initial = persistentListOf())
val roomInfo by room.roomInfoFlow.collectAsState(initial = null)
val syncUpdateFlow = room.syncUpdateFlow.collectAsState()