Fix issues with mangadex tracking, infinite loading and showing up on non-mangadex manga
This commit is contained in:
parent
ffc80c084d
commit
caa6dd6d62
@ -541,7 +541,7 @@ class LibraryPresenter(
|
||||
|
||||
fun syncMangaToDex(mangaList: List<Manga>) {
|
||||
launchIO {
|
||||
MdUtil.getEnabledMangaDex(preferences)?.let { mdex ->
|
||||
MdUtil.getEnabledMangaDex(preferences, sourceManager)?.let { mdex ->
|
||||
mangaList.forEach {
|
||||
mdex.updateFollowStatus(MdUtil.getMangaId(it.url), FollowStatus.READING).collect()
|
||||
}
|
||||
|
@ -57,12 +57,11 @@ class TrackPresenter(
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
// SY -->
|
||||
.map { trackItems ->
|
||||
val mdTrack = trackItems.firstOrNull { it.service.id == TrackManager.MDLIST }
|
||||
if (manga.source in mangaDexSourceIds) {
|
||||
val mdTrack = trackItems.firstOrNull { it.service.id == TrackManager.MDLIST }
|
||||
when {
|
||||
mdTrack == null -> {
|
||||
needsRefresh = true
|
||||
trackItems + createMdListTrack()
|
||||
trackItems
|
||||
}
|
||||
mdTrack.track == null -> {
|
||||
needsRefresh = true
|
||||
@ -70,7 +69,7 @@ class TrackPresenter(
|
||||
}
|
||||
else -> trackItems
|
||||
}
|
||||
} else trackItems
|
||||
} else mdTrack?.let { trackItems - it } ?: trackItems
|
||||
}
|
||||
// SY <--
|
||||
.doOnNext { trackList = it }
|
||||
|
@ -34,6 +34,7 @@ import eu.kanade.tachiyomi.util.updateCoverLastModified
|
||||
import exh.EH_SOURCE_ID
|
||||
import exh.EXH_SOURCE_ID
|
||||
import exh.MERGED_SOURCE_ID
|
||||
import exh.md.utils.FollowStatus
|
||||
import exh.util.defaultReaderType
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.singleOrNull
|
||||
@ -716,7 +717,7 @@ class ReaderPresenter(
|
||||
Completable.concat(
|
||||
trackList.map { track ->
|
||||
val service = trackManager.getService(track.sync_id)
|
||||
if (service != null && service.isLogged && chapterRead > track.last_chapter_read) {
|
||||
if (service != null && service.isLogged && chapterRead > track.last_chapter_read /* SY --> */ && ((service.id == TrackManager.MDLIST && track.status != FollowStatus.UNFOLLOWED.int) || service.id != TrackManager.MDLIST)/* SY <-- */) {
|
||||
track.last_chapter_read = chapterRead
|
||||
|
||||
// We wan't these to execute even if the presenter is destroyed and leaks
|
||||
|
Loading…
x
Reference in New Issue
Block a user