Implement most gallery settings.
This commit is contained in:
@@ -149,6 +149,16 @@ class PreferencesHelper(val context: Context) {
|
||||
|
||||
fun secureEXH() = rxPrefs.getBoolean("secure_exh", true)
|
||||
|
||||
fun imageQuality() = rxPrefs.getString("ehentai_quality", "auto")
|
||||
|
||||
fun useHentaiAtHome() = rxPrefs.getBoolean("enable_hah", true)
|
||||
|
||||
fun useJapaneseTitle() = rxPrefs.getBoolean("use_jp_title", false)
|
||||
|
||||
fun ehSearchSize() = rxPrefs.getString("ex_search_size", "rc_0")
|
||||
|
||||
fun thumbnailRows() = rxPrefs.getString("ex_thumb_rows", "tr_2")
|
||||
|
||||
//EH Cookies
|
||||
fun memberIdVal() = rxPrefs.getString("eh_ipb_member_id", null)
|
||||
fun passHashVal() = rxPrefs.getString("eh_ipb_pass_hash", null)
|
||||
|
||||
@@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.data.source.online.russian.Mintmanga
|
||||
import eu.kanade.tachiyomi.data.source.online.russian.Readmanga
|
||||
import eu.kanade.tachiyomi.util.hasPermission
|
||||
import org.yaml.snakeyaml.Yaml
|
||||
import rx.functions.Action1
|
||||
import timber.log.Timber
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.File
|
||||
@@ -59,10 +60,17 @@ open class SourceManager(private val context: Context) {
|
||||
}
|
||||
|
||||
init {
|
||||
prefs.enableExhentai().asObservable().subscribe {
|
||||
//Refresh sources when ExHentai enabled/disabled change
|
||||
sourcesMap = createSources()
|
||||
//Rebuild EH when settings change
|
||||
val action: Action1<Any> = Action1 { sourcesMap = createSources() }
|
||||
|
||||
prefs.enableExhentai().asObservable().subscribe(action)
|
||||
prefs.imageQuality().asObservable().subscribe (action)
|
||||
prefs.useHentaiAtHome().asObservable().subscribe(action)
|
||||
prefs.useJapaneseTitle().asObservable().subscribe {
|
||||
action.call(null)
|
||||
}
|
||||
prefs.ehSearchSize().asObservable().subscribe (action)
|
||||
prefs.thumbnailRows().asObservable().subscribe(action)
|
||||
}
|
||||
|
||||
private fun createSources(): Map<Int, Source> = hashMapOf<Int, Source>().apply {
|
||||
|
||||
@@ -28,7 +28,6 @@ class EHentai(override val id: Int,
|
||||
val exh: Boolean,
|
||||
val context: Context) : OnlineSource() {
|
||||
|
||||
|
||||
val schema: String
|
||||
get() = if(prefs.secureEXH().getOrDefault())
|
||||
"https"
|
||||
@@ -291,18 +290,56 @@ class EHentai(override val id: Int,
|
||||
}
|
||||
|
||||
val cookiesHeader by lazy {
|
||||
val cookies: MutableMap<String, String> = HashMap()
|
||||
val cookies: MutableMap<String, String> = mutableMapOf()
|
||||
if(prefs.enableExhentai().getOrDefault()) {
|
||||
cookies.put(LoginActivity.MEMBER_ID_COOKIE, prefs.memberIdVal().getOrDefault())
|
||||
cookies.put(LoginActivity.PASS_HASH_COOKIE, prefs.passHashVal().getOrDefault())
|
||||
cookies.put(LoginActivity.IGNEOUS_COOKIE, prefs.igneousVal().getOrDefault())
|
||||
}
|
||||
|
||||
//Setup settings
|
||||
val settings = mutableListOf<String?>()
|
||||
//Image quality
|
||||
settings.add(when(prefs.imageQuality()
|
||||
.getOrDefault()
|
||||
.toLowerCase()) {
|
||||
"ovrs_2400" -> "xr_2400"
|
||||
"ovrs_1600" -> "xr_1600"
|
||||
"high" -> "xr_1280"
|
||||
"med" -> "xr_980"
|
||||
"low" -> "xr_780"
|
||||
"auto" -> null
|
||||
else -> null
|
||||
})
|
||||
//Use Hentai@Home
|
||||
settings.add(if(prefs.useHentaiAtHome().getOrDefault())
|
||||
null
|
||||
else
|
||||
"uh_n")
|
||||
//Japanese titles
|
||||
settings.add(if(prefs.useJapaneseTitle().getOrDefault())
|
||||
"tl_j"
|
||||
else
|
||||
null)
|
||||
//Do not show popular right now pane as we can't parse it
|
||||
settings.add("prn_n")
|
||||
//Paging size
|
||||
settings.add(prefs.ehSearchSize().getOrDefault())
|
||||
//Thumbnail rows
|
||||
settings.add(prefs.thumbnailRows().getOrDefault())
|
||||
|
||||
cookies.put("uconfig", buildSettings(settings))
|
||||
|
||||
buildCookies(cookies)
|
||||
}
|
||||
|
||||
//Headers
|
||||
override fun headersBuilder()
|
||||
= super.headersBuilder().add("Cookie", cookiesHeader)!!
|
||||
= super.headersBuilder().add("Cookie", cookiesHeader)!!
|
||||
|
||||
fun buildSettings(settings: List<String?>): String {
|
||||
return settings.filterNotNull().joinToString(separator = "-")
|
||||
}
|
||||
|
||||
fun buildCookies(cookies: Map<String, String>)
|
||||
= cookies.entries.map {
|
||||
|
||||
Reference in New Issue
Block a user