Only display placeholder list when the room list hasn't loaded yet
This commit is contained in:
parent
17f616b708
commit
166ed9ae79
1 changed files with 4 additions and 4 deletions
|
|
@ -21,6 +21,7 @@ import io.element.android.libraries.androidutils.diff.DiffCacheUpdater
|
||||||
import io.element.android.libraries.androidutils.diff.MutableListDiffCache
|
import io.element.android.libraries.androidutils.diff.MutableListDiffCache
|
||||||
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
||||||
import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService
|
import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService
|
||||||
|
import io.element.android.libraries.matrix.api.roomlist.RoomList
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomListService
|
import io.element.android.libraries.matrix.api.roomlist.RoomListService
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
@ -113,10 +114,9 @@ class RoomListDataSource @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun buildAndEmitAllRooms(roomSummaries: List<RoomSummary>) {
|
private suspend fun buildAndEmitAllRooms(roomSummaries: List<RoomSummary>) {
|
||||||
if (diffCache.isEmpty()) {
|
if (diffCache.isEmpty() && roomListService.allRooms.loadingState.value is RoomList.LoadingState.NotLoaded) {
|
||||||
_allRooms.emit(
|
// If the room list is not loaded, we emit a fake placeholders list
|
||||||
RoomListRoomSummaryFactory.createFakeList()
|
_allRooms.emit(RoomListRoomSummaryFactory.createFakeList())
|
||||||
)
|
|
||||||
} else {
|
} else {
|
||||||
val roomListRoomSummaries = ArrayList<RoomListRoomSummary>()
|
val roomListRoomSummaries = ArrayList<RoomListRoomSummary>()
|
||||||
for (index in diffCache.indices()) {
|
for (index in diffCache.indices()) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue