diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt index 8140b81ba..01c7cafd3 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt @@ -464,11 +464,11 @@ class LibraryUpdateService( } // SY --> - val handler = CoroutineExceptionHandler { _, exception -> - Timber.e(exception) - } - ioScope.launch(handler) { - if (source.isMdBasedSource() && trackManager.mdList.isLogged) { + if (source.isMdBasedSource() && trackManager.mdList.isLogged) { + val handler = CoroutineExceptionHandler { _, exception -> + Timber.e(exception) + } + ioScope.launch(handler) { val tracks = db.getTracks(manga).executeOnIO() if (tracks.isEmpty() || tracks.none { it.sync_id == TrackManager.MDLIST }) { var track = trackManager.mdList.createInitialTracker(manga) diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt index ab66167c1..cd9f26f3d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt @@ -14,7 +14,6 @@ import eu.kanade.tachiyomi.util.lang.runAsObservable import exh.metadata.metadata.base.RaisedSearchMetadata import exh.metadata.metadata.base.getFlatMetadataForManga import exh.metadata.metadata.base.insertFlatMetadata -import exh.util.executeOnIO import rx.Completable import rx.Single import tachiyomi.source.model.MangaInfo diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt index 5686349cd..6f087be7a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt @@ -437,13 +437,13 @@ open class BrowseSourceController(bundle: Bundle) : super.onPrepareOptionsMenu(menu) val isHttpSource = presenter.source is HttpSource - menu.findItem(R.id.action_open_in_web_view).isVisible = isHttpSource + menu.findItem(R.id.action_open_in_web_view)?.isVisible = isHttpSource val isLocalSource = presenter.source is LocalSource - menu.findItem(R.id.action_local_source_help).isVisible = isLocalSource + menu.findItem(R.id.action_local_source_help)?.isVisible = isLocalSource // SY --> - menu.findItem(R.id.action_settings).isVisible = presenter.source is ConfigurableSource + menu.findItem(R.id.action_settings)?.isVisible = presenter.source is ConfigurableSource // SY <-- } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt index d7ef7152c..3ad932cf8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt @@ -179,11 +179,17 @@ open class BrowseSourcePresenter( pagerSubscription = pager.results() .observeOn(Schedulers.io()) // SY --> - .map { triple -> Triple(triple.first, triple.second.map { networkToLocalManga(it, sourceId) }, triple.third) } + .map { (page, mangas, metadata) -> + Triple(page, mangas.map { networkToLocalManga(it, sourceId) }, metadata) + } // SY <-- .doOnNext { initializeMangas(it.second) } // SY --> - .map { triple -> triple.first to triple.second.mapIndexed { index, manga -> SourceItem(manga, sourceDisplayMode, triple.third?.getOrNull(index)) } } + .map { (page, mangas, metadata) -> + page to mangas.mapIndexed { index, manga -> + SourceItem(manga, sourceDisplayMode, metadata?.getOrNull(index)) + } + } // SY <-- .observeOn(AndroidSchedulers.mainThread()) .subscribeReplay( diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceEnhancedEHentaiListHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceEnhancedEHentaiListHolder.kt index 959e8c3e6..611d91e98 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceEnhancedEHentaiListHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceEnhancedEHentaiListHolder.kt @@ -81,7 +81,11 @@ class SourceEnhancedEHentaiListHolder(private val view: View, adapter: FlexibleA metadata.averageRating?.let { binding.ratingBar.rating = it.toFloat() } - val locale = SourceTagsUtil.getLocaleSourceUtil(metadata.tags.firstOrNull { it.namespace == "language" }?.name) + val locale = SourceTagsUtil.getLocaleSourceUtil( + metadata.tags + .firstOrNull { it.namespace == EHentaiSearchMetadata.EH_LANGUAGE_NAMESPACE } + ?.name + ) val pageCount = metadata.length binding.language.text = if (locale != null && pageCount != null) { diff --git a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt index e95310357..aefaea233 100644 --- a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt +++ b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt @@ -17,7 +17,6 @@ import exh.metadata.metadata.base.getFlatMetadataForManga import exh.metadata.metadata.base.insertFlatMetadata import exh.util.capitalize import exh.util.dropEmpty -import exh.util.executeOnIO import exh.util.floor import exh.util.nullIfEmpty import okhttp3.OkHttpClient diff --git a/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt index f31144c61..cd9eab260 100644 --- a/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt @@ -125,6 +125,7 @@ class EHentaiSearchMetadata : RaisedSearchMetadata() { const val EH_GENRE_NAMESPACE = "genre" private const val EH_ARTIST_NAMESPACE = "artist" + const val EH_LANGUAGE_NAMESPACE = "language" private fun splitGalleryUrl(url: String) = url.let {