diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt index 924eb9918..b06bf907d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt @@ -119,20 +119,20 @@ class MangaDex(delegate: HttpSource, val context: Context) : override suspend fun mapChapterUrlToMangaUrl(uri: Uri): String? { val id = uri.pathSegments.getOrNull(2) ?: return null - val mangaId = MangaHandler(client, headers, listOf(mdLang)).getMangaIdFromChapterId(id) + val mangaId = MangaHandler(client, headers, mdLang).getMangaIdFromChapterId(id) return MdUtil.mapMdIdToMangaUrl(mangaId) } override fun fetchMangaDetails(manga: SManga): Observable { - return MangaHandler(client, headers, listOf(mdLang), preferences.mangaDexForceLatestCovers().get()).fetchMangaDetailsObservable(manga) + return MangaHandler(client, headers, mdLang, preferences.mangaDexForceLatestCovers().get()).fetchMangaDetailsObservable(manga) } override suspend fun getMangaDetails(manga: MangaInfo): MangaInfo { - return MangaHandler(client, headers, listOf(mdLang), preferences.mangaDexForceLatestCovers().get()).getMangaDetails(manga, id) + return MangaHandler(client, headers, mdLang, preferences.mangaDexForceLatestCovers().get()).getMangaDetails(manga, id) } override fun fetchChapterList(manga: SManga): Observable> { - return MangaHandler(client, headers, listOf(mdLang), preferences.mangaDexForceLatestCovers().get()).fetchChapterListObservable(manga) + return MangaHandler(client, headers, mdLang, preferences.mangaDexForceLatestCovers().get()).fetchChapterListObservable(manga) } override fun fetchPageList(chapter: SChapter): Observable> { @@ -165,7 +165,7 @@ class MangaDex(delegate: HttpSource, val context: Context) : } override fun parseIntoMetadata(metadata: MangaDexSearchMetadata, input: Response) { - ApiMangaParser(listOf(mdLang)).parseIntoMetadata(metadata, input, emptyList()) + ApiMangaParser(mdLang).parseIntoMetadata(metadata, input, emptyList()) } override suspend fun fetchFollows(): MangasPage { @@ -272,7 +272,7 @@ class MangaDex(delegate: HttpSource, val context: Context) : } override suspend fun fetchRandomMangaUrl(): String { - return MangaHandler(client, headers, listOf(mdLang)).fetchRandomMangaId() + return MangaHandler(client, headers, mdLang).fetchRandomMangaId() } fun fetchMangaSimilar(manga: Manga): Observable { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 06e08791a..2ae7ffb83 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -40,7 +40,6 @@ import eu.kanade.tachiyomi.databinding.ReaderActivityBinding import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.online.HttpSource -import eu.kanade.tachiyomi.source.online.all.EHentai import eu.kanade.tachiyomi.ui.base.activity.BaseRxActivity import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.ui.manga.MangaController diff --git a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt index e430efef5..b166691ed 100644 --- a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt +++ b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt @@ -29,7 +29,7 @@ import tachiyomi.source.model.MangaInfo import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -class ApiMangaParser(private val langs: List) { +class ApiMangaParser(private val lang: String) { val db: DatabaseHelper get() = Injekt.get() val metaClass = MangaDexSearchMetadata::class @@ -186,7 +186,7 @@ class ApiMangaParser(private val langs: List) { private fun filterChapterForChecking(serializer: ApiMangaSerializer): List { return serializer.data.chapters.asSequence() - .filter { langs.contains(it.language) } + .filter { lang == it.language } .filter { it.chapter?.let { chapterNumber -> if (chapterNumber.toDoubleOrNull() == null) { @@ -244,9 +244,9 @@ class ApiMangaParser(private val langs: List) { // Skip chapters that don't match the desired language, or are future releases - val chapLangs = MdLang.values().filter { langs.contains(it.dexLang) } + val chapLangs = MdLang.values().filter { lang == it.dexLang } return networkChapters.asSequence() - .filter { langs.contains(it.language) && (it.timestamp * 1000) <= now } + .filter { lang == it.language && (it.timestamp * 1000) <= now } .map { mapChapter(it, finalChapterNumber, status, chapLangs, networkChapters.size, groups) }.toList() } diff --git a/app/src/main/java/exh/md/handlers/MangaHandler.kt b/app/src/main/java/exh/md/handlers/MangaHandler.kt index df756f9a3..19c4b529b 100644 --- a/app/src/main/java/exh/md/handlers/MangaHandler.kt +++ b/app/src/main/java/exh/md/handlers/MangaHandler.kt @@ -21,14 +21,14 @@ import okhttp3.Request import rx.Observable import tachiyomi.source.model.MangaInfo -class MangaHandler(val client: OkHttpClient, val headers: Headers, val langs: List, val forceLatestCovers: Boolean = false) { +class MangaHandler(val client: OkHttpClient, val headers: Headers, val lang: String, val forceLatestCovers: Boolean = false) { // TODO make use of this suspend fun fetchMangaAndChapterDetails(manga: MangaInfo, sourceId: Long): Pair> { return withContext(Dispatchers.IO) { val response = client.newCall(apiRequest(manga.toSManga())).await() val covers = getCovers(manga, forceLatestCovers) - val parser = ApiMangaParser(langs) + val parser = ApiMangaParser(lang) val jsonData = withContext(Dispatchers.IO) { response.body!!.string() } if (response.code != 200) { @@ -58,7 +58,7 @@ class MangaHandler(val client: OkHttpClient, val headers: Headers, val langs: Li return withContext(Dispatchers.IO) { val request = GET(MdUtil.apiUrl + MdUtil.newApiChapter + urlChapterId + MdUtil.apiChapterSuffix, headers, CacheControl.FORCE_NETWORK) val response = client.newCall(request).await() - ApiMangaParser(langs).chapterParseForMangaId(response) + ApiMangaParser(lang).chapterParseForMangaId(response) } } @@ -66,7 +66,7 @@ class MangaHandler(val client: OkHttpClient, val headers: Headers, val langs: Li return withContext(Dispatchers.IO) { val response = client.newCall(apiRequest(manga.toSManga())).await() val covers = getCovers(manga, forceLatestCovers) - ApiMangaParser(langs).parseToManga(manga, response, covers, sourceId) + ApiMangaParser(lang).parseToManga(manga, response, covers, sourceId) } } @@ -81,7 +81,7 @@ class MangaHandler(val client: OkHttpClient, val headers: Headers, val langs: Li } } .flatMap { - ApiMangaParser(langs).parseToManga(manga, it.first, it.second).andThen( + ApiMangaParser(lang).parseToManga(manga, it.first, it.second).andThen( Observable.just( manga.apply { initialized = true @@ -95,14 +95,14 @@ class MangaHandler(val client: OkHttpClient, val headers: Headers, val langs: Li return client.newCall(apiRequest(manga)) .asObservableSuccess() .map { response -> - ApiMangaParser(langs).chapterListParse(response) + ApiMangaParser(lang).chapterListParse(response) } } suspend fun fetchChapterList(manga: SManga): List { return withContext(Dispatchers.IO) { val response = client.newCall(apiRequest(manga)).await() - ApiMangaParser(langs).chapterListParse(response) + ApiMangaParser(lang).chapterListParse(response) } } @@ -110,14 +110,14 @@ class MangaHandler(val client: OkHttpClient, val headers: Headers, val langs: Li return client.newCall(randomMangaRequest()) .asObservableSuccess() .map { response -> - ApiMangaParser(langs).randomMangaIdParse(response) + ApiMangaParser(lang).randomMangaIdParse(response) } } suspend fun fetchRandomMangaId(): String { return withContext(Dispatchers.IO) { val response = client.newCall(randomMangaRequest()).await() - ApiMangaParser(langs).randomMangaIdParse(response) + ApiMangaParser(lang).randomMangaIdParse(response) } } diff --git a/app/src/main/java/exh/md/handlers/SearchHandler.kt b/app/src/main/java/exh/md/handlers/SearchHandler.kt index 0ce230f20..832a55c00 100644 --- a/app/src/main/java/exh/md/handlers/SearchHandler.kt +++ b/app/src/main/java/exh/md/handlers/SearchHandler.kt @@ -18,7 +18,7 @@ import org.jsoup.nodes.Element import rx.Observable // Unused, kept for reference todo -class SearchHandler(val client: OkHttpClient, private val headers: Headers, val langs: List, private val useLowQualityCovers: Boolean) { +class SearchHandler(val client: OkHttpClient, private val headers: Headers, val lang: String, private val useLowQualityCovers: Boolean) { fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { return when { @@ -29,7 +29,7 @@ class SearchHandler(val client: OkHttpClient, private val headers: Headers, val .map { response -> val details = SManga.create() details.url = "/manga/$realQuery/" - ApiMangaParser(langs).parseToManga(details, response, emptyList()).await() + ApiMangaParser(lang).parseToManga(details, response, emptyList()).await() MangasPage(listOf(details), false) } }