fix(browse): Restart pager from controller

Hopefully fix desync issue after opening an entry
This commit is contained in:
Ahmad Ansori Palembani 2024-12-04 16:52:51 +07:00
parent 39d891aa88
commit cb265d2225
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
2 changed files with 4 additions and 9 deletions

View file

@ -180,11 +180,10 @@ open class BrowseSourceController(bundle: Bundle) :
}
return
}
if (presenter.items.isNotEmpty()) {
onAddPage(1, presenter.items)
} else {
binding.progress.isVisible = true
}
binding.progress.isVisible = true
presenter.restartPager()
}
override fun onDestroyView(view: View) {

View file

@ -72,7 +72,6 @@ open class BrowseSourcePresenter(
var filtersChanged = false
var items = mutableListOf<BrowseSourceItem>()
val page: Int
get() = pager.currentPage
@ -129,7 +128,6 @@ open class BrowseSourcePresenter(
}
}
filtersChanged = false
restartPager()
}
}
@ -172,7 +170,6 @@ open class BrowseSourcePresenter(
val browseAsList = preferences.browseAsList()
val sourceListType = preferences.libraryLayout()
val outlineCovers = uiPreferences.outlineOnCovers()
items.clear()
// Prepare the pager.
pagerJob?.cancel()
@ -190,7 +187,6 @@ open class BrowseSourcePresenter(
val items = mangas.map {
BrowseSourceItem(it, browseAsList, sourceListType, outlineCovers)
}
this@BrowseSourcePresenter.items.addAll(items)
withUIContext { view?.onAddPage(page, items) }
} catch (error: Exception) {
Logger.e(error) { "Unable to prepare a page" }