added paginator full state if itemList < pageSize

added paginator full state if itemList < pageSize
This commit is contained in:
Stanisalv 2020-09-09 12:31:48 +03:00
parent 3a203c63f3
commit 23c8a987c1
1 changed files with 3 additions and 2 deletions

View File

@ -10,7 +10,8 @@ import ru.touchin.roboswag.mvi_arch.marker.ViewState
class Paginator<Item>(
private val errorHandleMod: ErrorHandleMod,
private val loadPage: suspend (Int) -> List<Item>
private val loadPage: suspend (Int) -> List<Item>,
private val pageSize: Int
) : Store<Paginator.Change, Paginator.Effect, Paginator.State>(State.Empty) {
sealed class Change : StateChange {
@ -89,7 +90,7 @@ class Paginator<Item>(
}
}
is State.NewPageProgress<*> -> {
if (items.isEmpty()) {
if (items.isEmpty() || items.size < pageSize) {
State.FullData(currentState.pageCount, currentState.data)
} else {
State.Data(currentState.pageCount + 1, currentState.data + items)