return lost commit

This commit is contained in:
Stanisalv 2020-08-26 20:21:04 +03:00
parent 57474d425e
commit 313481500a
2 changed files with 18 additions and 10 deletions

View File

@ -48,25 +48,25 @@ class PaginationView @JvmOverloads constructor(
when (state) {
is Paginator.State.Empty -> {
adapter.update(emptyList(), false)
adapter.update(emptyList(), PaginationAdapter.UpdateState.Common)
}
is Paginator.State.EmptyProgress -> {
adapter.update(emptyList(), false)
adapter.update(emptyList(), PaginationAdapter.UpdateState.Common)
}
is Paginator.State.EmptyError -> {
adapter.update(emptyList(), false)
adapter.update(emptyList(), PaginationAdapter.UpdateState.Common)
}
is Paginator.State.Data<*> -> {
adapter.update(state.data as List<Any>, false)
adapter.update(state.data as List<Any>, PaginationAdapter.UpdateState.Common)
}
is Paginator.State.Refresh<*> -> {
adapter.update(state.data as List<Any>, false)
adapter.update(state.data as List<Any>, PaginationAdapter.UpdateState.Common)
}
is Paginator.State.NewPageProgress<*> -> {
adapter.update(state.data as List<Any>, true)
adapter.update(state.data as List<Any>, PaginationAdapter.UpdateState.Progress)
}
is Paginator.State.FullData<*> -> {
adapter.update(state.data as List<Any>, false)
adapter.update(state.data as List<Any>, PaginationAdapter.UpdateState.Common)
}
}
}

View File

@ -30,7 +30,7 @@ class Paginator<Item>(
object Empty : State()
object EmptyProgress : State()
data class EmptyError(val error: Throwable) : State()
data class Data<T>(val pageCount: Int = 0, val data: List<T>) : State()
data class Data<T>(val pageCount: Int = 0, val data: List<T>, val error: Throwable? = null) : State()
data class Refresh<T>(val pageCount: Int, val data: List<T>) : State()
data class NewPageProgress<T>(val pageCount: Int, val data: List<T>) : State()
data class FullData<T>(val pageCount: Int, val data: List<T>) : State()
@ -108,7 +108,11 @@ class Paginator<Item>(
State.Data(currentState.pageCount, currentState.data)
}
is ErrorHandleMod.ErrorItem -> {
State.Data(currentState.pageCount, currentState.data + ErrorItem)
State.Data(
pageCount = currentState.pageCount,
data = currentState.data,
error = change.error
)
}
}
}
@ -119,7 +123,11 @@ class Paginator<Item>(
State.Data(currentState.pageCount, currentState.data)
}
is ErrorHandleMod.ErrorItem -> {
State.Data(currentState.pageCount, currentState.data + ErrorItem)
State.Data(
pageCount = currentState.pageCount,
data = currentState.data,
error = change.error
)
}
}
}