Migrate feed to adapter delegates

This commit is contained in:
Koitharu
2020-11-23 19:16:02 +02:00
parent 12c8cdfd70
commit b9f35f34ad
21 changed files with 237 additions and 158 deletions

View File

@@ -28,8 +28,8 @@ class MangaSearchSheet : MangaListSheet() {
setSubtitle(getString(R.string.search_results_on_s, source.title))
}
override fun onRequestMoreItems(offset: Int) {
viewModel.loadList(query.orEmpty(), offset)
override fun onScrolledToEnd() {
viewModel.loadList(query.orEmpty(), append = true)
}
companion object {

View File

@@ -17,8 +17,13 @@ class SearchFragment : MangaListFragment() {
private val query by stringArgument(ARG_QUERY)
private val source by parcelableArgument<MangaSource>(ARG_SOURCE)
override fun onRequestMoreItems(offset: Int) {
viewModel.loadList(query.orEmpty(), offset)
override fun onRefresh() {
super.onRefresh()
viewModel.loadList(query.orEmpty(), append = false)
}
override fun onScrolledToEnd() {
viewModel.loadList(query.orEmpty(), append = true)
}
override fun getTitle(): CharSequence? {

View File

@@ -14,12 +14,12 @@ class SearchViewModel(
override val content = MutableLiveData<List<Any>>()
fun loadList(query: String, offset: Int) {
fun loadList(query: String, append: Boolean) {
launchLoadingJob {
val list = withContext(Dispatchers.Default) {
repository.getList(offset, query = query)
repository.getList(TODO(), query = query)
}
if (offset == 0) {
if (!append) {
content.value = list
} else {
content.value = content.value.orEmpty() + list

View File

@@ -12,12 +12,13 @@ class GlobalSearchFragment : MangaListFragment() {
private val query by stringArgument(ARG_QUERY)
override fun onRequestMoreItems(offset: Int) {
if (offset == 0) {
viewModel.startSearch(query.orEmpty())
}
override fun onRefresh() {
super.onRefresh()
viewModel.startSearch(query.orEmpty())
}
override fun onScrolledToEnd() = Unit
override fun getTitle(): CharSequence? {
return query
}