Replace usages of fetchChapterList with 1.x getChapterList API

(cherry picked from commit 54dc01253d419079eaec61333d4c6f4deb5a58f8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
This commit is contained in:
arkon 2021-01-01 19:19:11 -05:00 committed by Jobobby04
parent 423983d41a
commit 23ac4b271c
4 changed files with 33 additions and 15 deletions

View File

@ -5,12 +5,15 @@ import android.net.Uri
import eu.kanade.tachiyomi.data.database.DatabaseHelper
import eu.kanade.tachiyomi.data.database.models.Chapter
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.database.models.toMangaInfo
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.source.model.toSChapter
import eu.kanade.tachiyomi.source.online.all.EHentai
import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource
import eu.kanade.tachiyomi.util.lang.runAsObservable
import exh.eh.EHentaiThrottleManager
import rx.Observable
import uy.kohesive.injekt.injectLazy
@ -41,13 +44,15 @@ abstract class AbstractBackupManager(protected val context: Context) {
* @return [Observable] that contains manga
*/
internal open fun restoreChapterFetchObservable(source: Source, manga: Manga, chapters: List<Chapter>, throttleManager: EHentaiThrottleManager): Observable<Pair<List<Chapter>, List<Chapter>>> {
return (
return runAsObservable({
if (source is EHentai) {
source.fetchChapterList(manga, throttleManager::throttle)
source.getChapterList(manga.toMangaInfo(), throttleManager::throttle)
.map { it.toSChapter() }
} else {
source.fetchChapterList(manga)
source.getChapterList(manga.toMangaInfo())
.map { it.toSChapter() }
}
).map {
}).map {
syncChaptersWithSource(databaseHelper, it, manga, source)
}
.doOnNext { (first) ->

View File

@ -246,6 +246,7 @@ class FullBackupManager(context: Context) : AbstractBackupManager(context) {
*/
fun restoreMangaFetchObservable(source: Source?, manga: Manga, online: Boolean): Observable<Manga> {
return if (online && source != null /* SY --> */ && source !is MergedSource /* SY <-- */) {
runAsObservable({
val networkManga = source.getMangaDetails(manga.toMangaInfo())
manga.copyFrom(networkManga.toSManga())
manga.favorite = manga.favorite

View File

@ -25,6 +25,7 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.model.toSChapter
import eu.kanade.tachiyomi.source.model.toSManga
import eu.kanade.tachiyomi.source.online.all.MangaDex
import eu.kanade.tachiyomi.source.online.all.MergedSource
@ -456,7 +457,10 @@ class LibraryUpdateService(
return (
/* SY --> */ if (source is MergedSource) runAsObservable({ source.fetchChaptersAndSync(manga, false) })
else /* SY <-- */ source.fetchChapterList(manga)
else /* SY <-- */ runAsObservable({
source.getChapterList(manga.toMangaInfo())
.map { it.toSChapter() }
})
.map { syncChaptersWithSource(db, it, manga, source) }
// SY -->
)

View File

@ -22,6 +22,7 @@ import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.source.LocalSource
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.source.model.toSChapter
import eu.kanade.tachiyomi.source.model.toSManga
import eu.kanade.tachiyomi.source.online.MetadataSource
import eu.kanade.tachiyomi.source.online.all.MangaDex
@ -286,15 +287,17 @@ class MangaPresenter(
*/
fun fetchMangaFromSource(manualFetch: Boolean = false) {
if (!fetchMangaSubscription.isNullOrUnsubscribed()) return
fetchMangaSubscription = runAsObservable({
val networkManga = source.getMangaDetails(manga.toMangaInfo())
val sManga = networkManga.toSManga()
manga.prepUpdateCover(coverCache, sManga, manualFetch)
manga.copyFrom(sManga)
manga.initialized = true
db.insertManga(manga).executeAsBlocking()
manga
})
fetchMangaSubscription = Observable.defer {
runAsObservable({
val networkManga = source.getMangaDetails(manga.toMangaInfo())
val sManga = networkManga.toSManga()
manga.prepUpdateCover(coverCache, sManga, manualFetch)
manga.copyFrom(sManga)
manga.initialized = true
db.insertManga(manga).executeAsBlocking()
manga
})
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeFirst(
@ -761,7 +764,12 @@ class MangaPresenter(
if (!fetchChaptersSubscription.isNullOrUnsubscribed()) return
fetchChaptersSubscription = /* SY --> */ if (source !is MergedSource) {
// SY <--
Observable.defer { source.fetchChapterList(manga) }
Observable.defer {
runAsObservable({
source.getChapterList(manga.toMangaInfo())
.map { it.toSChapter() }
})
}
.subscribeOn(Schedulers.io())
.map { syncChaptersWithSource(db, it, manga, source) }
.doOnNext {