Opening a tracker webpage and returning to app now only refreshes that single tracker

This commit is contained in:
Jays2Kings 2022-06-04 16:51:55 -04:00
parent 72ded798e8
commit 5070710add
2 changed files with 18 additions and 17 deletions

View file

@ -583,7 +583,7 @@ class MangaDetailsController :
presenter.fetchChapters(refreshTracker == null)
if (refreshTracker != null) {
trackingBottomSheet?.refreshItem(refreshTracker ?: 0)
presenter.refreshTracking()
presenter.refreshTracking(trackIndex = refreshTracker)
refreshTracker = null
}
// fetch cover again in case the user set a new cover while reading

View file

@ -886,10 +886,11 @@ class MangaDetailsPresenter(
withContext(Dispatchers.Main) { controller?.refreshTracking(trackList) }
}
fun refreshTracking(showOfflineSnack: Boolean = false) {
fun refreshTracking(showOfflineSnack: Boolean = false, trackIndex: Int? = null) {
if (controller?.isNotOnline(showOfflineSnack) == false) {
presenterScope.launch {
val asyncList = trackList.filter { it.track != null }.map { item ->
val asyncList = (trackIndex?.let { listOf(trackList[it]) } ?: trackList.filter { it.track != null })
.map { item ->
async(Dispatchers.IO) {
val trackItem = try {
item.service.refresh(item.track!!)