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 return
} }
if (presenter.items.isNotEmpty()) {
onAddPage(1, presenter.items) binding.progress.isVisible = true
} else {
binding.progress.isVisible = true presenter.restartPager()
}
} }
override fun onDestroyView(view: View) { override fun onDestroyView(view: View) {

View file

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