ThreadsListEvents -> ThreadsListEvent

This commit is contained in:
Benoit Marty
2026-08-25 10:06:20 +02:00
parent 116897d64c
commit d42a93100d
3 changed files with 8 additions and 8 deletions
@@ -104,9 +104,9 @@ class ThreadsListPresenter(
derivedStateOf { roomInfo.heroes.map { it.getAvatarData(AvatarSize.CurrentUserTopBar) }.toImmutableList() } derivedStateOf { roomInfo.heroes.map { it.getAvatarData(AvatarSize.CurrentUserTopBar) }.toImmutableList() }
} }
fun handleEvent(event: ThreadsListEvents) { fun handleEvent(event: ThreadsListEvent) {
when (event) { when (event) {
ThreadsListEvents.Paginate -> if ((paginationStatus as? ThreadListPaginationStatus.Idle)?.hasMoreToLoad == true) { ThreadsListEvent.Paginate -> if ((paginationStatus as? ThreadListPaginationStatus.Idle)?.hasMoreToLoad == true) {
coroutineScope.launch { coroutineScope.launch {
Timber.d("Paginating thread list: $paginationStatus") Timber.d("Paginating thread list: $paginationStatus")
threadsListService.paginate() threadsListService.paginate()
@@ -137,9 +137,9 @@ data class ThreadsListState(
val isRoomTombstoned: Boolean, val isRoomTombstoned: Boolean,
val heroes: ImmutableList<AvatarData>, val heroes: ImmutableList<AvatarData>,
val threads: ImmutableList<ThreadListRowItem>, val threads: ImmutableList<ThreadListRowItem>,
val eventSink: (ThreadsListEvents) -> Unit, val eventSink: (ThreadsListEvent) -> Unit,
) )
sealed interface ThreadsListEvents { sealed interface ThreadsListEvent {
data object Paginate : ThreadsListEvents data object Paginate : ThreadsListEvent
} }
@@ -156,7 +156,7 @@ fun ThreadsListView(
} }
ScrollHelper(lazyListState) { ScrollHelper(lazyListState) {
state.eventSink(ThreadsListEvents.Paginate) state.eventSink(ThreadsListEvent.Paginate)
} }
} }
} }
@@ -10,7 +10,7 @@ package io.element.android.features.messages.impl.threads
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import io.element.android.features.messages.impl.fixtures.aTimelineItemContentFactory import io.element.android.features.messages.impl.fixtures.aTimelineItemContentFactory
import io.element.android.features.messages.impl.messagesummary.FakeMessageSummaryFormatter import io.element.android.features.messages.impl.messagesummary.FakeMessageSummaryFormatter
import io.element.android.features.messages.impl.threads.list.ThreadsListEvents import io.element.android.features.messages.impl.threads.list.ThreadsListEvent
import io.element.android.features.messages.impl.threads.list.ThreadsListPresenter import io.element.android.features.messages.impl.threads.list.ThreadsListPresenter
import io.element.android.features.messages.impl.threads.list.aThreadListItem import io.element.android.features.messages.impl.threads.list.aThreadListItem
import io.element.android.libraries.dateformatter.test.FakeDateFormatter import io.element.android.libraries.dateformatter.test.FakeDateFormatter
@@ -48,7 +48,7 @@ class ThreadsListPresenterTest {
// Pagination is automatically triggered on start, so we should have one call to paginate already // Pagination is automatically triggered on start, so we should have one call to paginate already
paginateRecorder.assertions().isCalledOnce() paginateRecorder.assertions().isCalledOnce()
initialItem.eventSink(ThreadsListEvents.Paginate) initialItem.eventSink(ThreadsListEvent.Paginate)
// Simulate a pagination result // Simulate a pagination result
threadsListService.emit(listOf(aThreadListItem())) threadsListService.emit(listOf(aThreadListItem()))