Various bug fixes.

This commit is contained in:
NerdNumber9 2017-01-04 16:24:21 -05:00
parent cce1f2c20d
commit 5c942460f9
3 changed files with 13 additions and 10 deletions

View File

@ -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), "")

View File

@ -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<List<String>> {
val urls = mutableListOf<String>()
return chapterPageCall(chapter, id).flatMap {
private fun fetchChapterPage(chapter: Chapter, np: String,
pastUrls: List<String> = emptyList()): Observable<List<String>> {
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<Int, String>::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 {

View File

@ -18,7 +18,7 @@
<item
android:id="@+id/nav_drawer_catalogues"
android:icon="@drawable/ic_explore_black_24dp"
android:title="@string/label_catalogues" />
android:title="Galleries" />
<item
android:id="@+id/nav_drawer_latest_updates"
android:icon="@drawable/ic_watch_later_black_24dp"