RoomList: extend a bit the range of SS window

This commit is contained in:
ganfra
2022-11-24 10:39:31 +01:00
parent e2108fedf3
commit ff61a46e94
2 changed files with 9 additions and 2 deletions

View File

@@ -20,6 +20,8 @@ import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.launch
private const val extendedRangeSize = 40
class RoomListViewModel(
private val client: MatrixClient,
initialState: RoomListViewState
@@ -69,7 +71,12 @@ class RoomListViewModel(
fun updateVisibleRange(range: IntRange) {
viewModelScope.launch {
if (range.isEmpty()) return@launch
client.roomSummaryDataSource().setSlidingSyncRange(range)
val midExtendedRangeSize = extendedRangeSize / 2
val extendedRangeStart = (range.first - midExtendedRangeSize).coerceAtLeast(0)
// Safe to give bigger size than room list
val extendedRangeEnd = range.last + midExtendedRangeSize
val extendedRange = IntRange(extendedRangeStart, extendedRangeEnd)
client.roomSummaryDataSource().setSlidingSyncRange(extendedRange)
}
}

View File

@@ -49,7 +49,7 @@ class MatrixClient internal constructor(
)
.name(name = "HomeScreenView")
.syncMode(mode = SlidingSyncMode.SELECTIVE)
.addRange(0u, 10u)
.addRange(0u, 30u)
.build()
private val slidingSync = client