From 5c942460f974c91dea8d0ff5012297e036e455ba Mon Sep 17 00:00:00 2001 From: NerdNumber9 Date: Wed, 4 Jan 2017 16:24:21 -0500 Subject: [PATCH] Various bug fixes. --- .../data/preference/PreferencesHelper.kt | 2 +- .../data/source/online/all/EHentai.kt | 19 +++++++++++-------- app/src/main/res/menu/menu_navigation.xml | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt index e6638a5da..17b5b9c26 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -82,7 +82,7 @@ class PreferencesHelper(val context: Context) { fun catalogueAsList() = rxPrefs.getBoolean(keys.catalogueAsList, false) - fun enabledLanguages() = rxPrefs.getStringSet(keys.enabledLanguages, setOf("en")) + fun enabledLanguages() = rxPrefs.getStringSet(keys.enabledLanguages, setOf("all")) fun sourceUsername(source: Source) = prefs.getString(keys.sourceUsername(source.id), "") diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/source/online/all/EHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/data/source/online/all/EHentai.kt index ccc211c73..4f2a80777 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/source/online/all/EHentai.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/source/online/all/EHentai.kt @@ -23,6 +23,7 @@ import uy.kohesive.injekt.injectLazy import java.net.URLEncoder import java.util.* import exh.ui.login.LoginActivity +import timber.log.Timber class EHentai(override val id: Int, val exh: Boolean, @@ -100,19 +101,21 @@ class EHentai(override val id: Int, })) override fun fetchPageListFromNetwork(chapter: Chapter) - = fetchChapterPage(chapter, 0).map { + = fetchChapterPage(chapter, "$baseUrl${chapter.url}").map { it.mapIndexed { i, s -> Page(i, s) } }!! - private fun fetchChapterPage(chapter: Chapter, id: Int): Observable> { - val urls = mutableListOf() - return chapterPageCall(chapter, id).flatMap { + private fun fetchChapterPage(chapter: Chapter, np: String, + pastUrls: List = emptyList()): Observable> { + val urls = ArrayList(pastUrls) + return chapterPageCall(chapter, np).flatMap { val jsoup = it.asJsoup() urls += parseChapterPage(jsoup) - if(nextPageUrl(jsoup) != null) { - fetchChapterPage(chapter, id + 1) + val nextUrl = nextPageUrl(jsoup) + if(nextUrl != null) { + fetchChapterPage(chapter, nextUrl, urls) } else { Observable.just(urls) } @@ -124,8 +127,8 @@ class EHentai(override val id: Int, Pair(it.child(0).attr("alt").toInt(), it.attr("href")) }.sortedBy(Pair::first).map { it.second } } - private fun chapterPageCall(chapter: Chapter, pn: Int) = client.newCall(chapterPageRequest(chapter, pn)).asObservableSuccess() - private fun chapterPageRequest(chapter: Chapter, pn: Int) = GET("$baseUrl${chapter.url}?p=$pn", headers) + private fun chapterPageCall(chapter: Chapter, np: String) = client.newCall(chapterPageRequest(chapter, np)).asObservableSuccess() + private fun chapterPageRequest(chapter: Chapter, np: String) = GET(np, headers) private fun nextPageUrl(element: Element): String? = element.select("a[onclick=return false]").last()?.let { diff --git a/app/src/main/res/menu/menu_navigation.xml b/app/src/main/res/menu/menu_navigation.xml index c5b59c177..1907e2146 100644 --- a/app/src/main/res/menu/menu_navigation.xml +++ b/app/src/main/res/menu/menu_navigation.xml @@ -18,7 +18,7 @@ + android:title="Galleries" />