Add support for SwitchPreferenceCompat
This commit is contained in:
parent
63e4175b96
commit
8a13a17a52
|
@ -1,7 +1,7 @@
|
|||
// used both in common.gradle and themesources library
|
||||
dependencies {
|
||||
// Lib 1.2, but using specific commit so we don't need to bump up the version
|
||||
compileOnly "com.github.tachiyomiorg:extensions-lib:cc271c3"
|
||||
compileOnly "com.github.tachiyomiorg:extensions-lib:8dd92e3"
|
||||
|
||||
// These are provided by the app itself
|
||||
compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||
|
|
|
@ -24,17 +24,12 @@ object MDConstants {
|
|||
|
||||
const val prefixIdSearch = "id:"
|
||||
|
||||
const val dataSaverPrefTitle = "Data saver"
|
||||
const val dataSaverPrefSummary = "Enables smaller more compressed images"
|
||||
const val dataSaverPref = "dataSaverV5"
|
||||
|
||||
fun getDataSaverPreferenceKey(dexLang: String): String {
|
||||
return "${dataSaverPref}_$dexLang"
|
||||
}
|
||||
|
||||
const val standardHttpsPortTitle = "Use HTTPS port 443 only"
|
||||
const val standardHttpsPortSummary =
|
||||
"Enable to only request image servers that use port 443. This allows users with stricter firewall restrictions to access MangaDex images"
|
||||
private const val standardHttpsPortPref = "usePort443"
|
||||
|
||||
fun getStandardHttpsPreferenceKey(dexLang: String): String {
|
||||
|
@ -43,28 +38,24 @@ object MDConstants {
|
|||
|
||||
const val showByDefaultPrefTitle = "Show only by default"
|
||||
|
||||
const val contentRatingSafePrefSummary = "Content Rating: Safe"
|
||||
private const val contentRatingSafePref = "contentRatingSafe"
|
||||
|
||||
fun getContentRatingSafePrefKey(dexLang: String): String {
|
||||
return "${contentRatingSafePref}_$dexLang"
|
||||
}
|
||||
|
||||
const val contentRatingSuggestivePrefSummary = "Content Rating: Suggestive"
|
||||
private const val contentRatingSuggestivePref = "contentRatingSuggestive"
|
||||
|
||||
fun getContentRatingSuggestivePrefKey(dexLang: String): String {
|
||||
return "${contentRatingSuggestivePref}_$dexLang"
|
||||
}
|
||||
|
||||
const val contentRatingEroticaPrefSummary = "Content Rating: Erotica"
|
||||
private const val contentRatingEroticaPref = "contentRatingErotica"
|
||||
|
||||
fun getContentRatingEroticaPrefKey(dexLang: String): String {
|
||||
return "${contentRatingEroticaPref}_$dexLang"
|
||||
}
|
||||
|
||||
const val contentRatingPornographicPrefSummary = "Content Rating: Pornographic"
|
||||
private const val contentRatingPornographicPref = "contentRatingPornographic"
|
||||
|
||||
fun getContentRatingPornographicPrefKey(dexLang: String): String {
|
||||
|
|
|
@ -3,8 +3,8 @@ package eu.kanade.tachiyomi.extension.all.mangadex
|
|||
import android.app.Application
|
||||
import android.content.SharedPreferences
|
||||
import android.util.Log
|
||||
import androidx.preference.CheckBoxPreference
|
||||
import androidx.preference.PreferenceScreen
|
||||
import androidx.preference.SwitchPreferenceCompat
|
||||
import com.github.salomonbrys.kotson.array
|
||||
import com.github.salomonbrys.kotson.get
|
||||
import com.github.salomonbrys.kotson.int
|
||||
|
@ -31,7 +31,8 @@ import uy.kohesive.injekt.Injekt
|
|||
import uy.kohesive.injekt.api.get
|
||||
import java.util.Date
|
||||
|
||||
abstract class MangaDex(override val lang: String, val dexLang: String) : ConfigurableSource,
|
||||
abstract class MangaDex(override val lang: String, val dexLang: String) :
|
||||
ConfigurableSource,
|
||||
HttpSource() {
|
||||
override val name = "MangaDex"
|
||||
override val baseUrl = "https://www.mangadex.org"
|
||||
|
@ -291,13 +292,11 @@ abstract class MangaDex(override val lang: String, val dexLang: String) : Config
|
|||
|
||||
override fun imageUrlParse(response: Response): String = ""
|
||||
|
||||
// mangadex is mvp no settings yet
|
||||
override fun setupPreferenceScreen(screen: PreferenceScreen) {
|
||||
|
||||
val dataSaverPref = CheckBoxPreference(screen.context).apply {
|
||||
val dataSaverPref = SwitchPreferenceCompat(screen.context).apply {
|
||||
key = MDConstants.getDataSaverPreferenceKey(dexLang)
|
||||
title = MDConstants.dataSaverPrefTitle
|
||||
summary = MDConstants.dataSaverPrefSummary
|
||||
title = "Data saver"
|
||||
summary = "Enables smaller, more compressed images"
|
||||
setDefaultValue(false)
|
||||
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
|
@ -308,10 +307,11 @@ abstract class MangaDex(override val lang: String, val dexLang: String) : Config
|
|||
}
|
||||
}
|
||||
|
||||
val standardHTTPSPref = CheckBoxPreference(screen.context).apply {
|
||||
val standardHttpsPortPref = SwitchPreferenceCompat(screen.context).apply {
|
||||
key = MDConstants.getStandardHttpsPreferenceKey(dexLang)
|
||||
title = MDConstants.standardHttpsPortTitle
|
||||
summary = MDConstants.standardHttpsPortSummary
|
||||
title = "Use HTTPS port 443 only"
|
||||
summary =
|
||||
"Enable to only request image servers that use port 443. This allows users with stricter firewall restrictions to access MangaDex images"
|
||||
setDefaultValue(false)
|
||||
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
|
@ -322,10 +322,10 @@ abstract class MangaDex(override val lang: String, val dexLang: String) : Config
|
|||
}
|
||||
}
|
||||
|
||||
val contentRatingSafePref = CheckBoxPreference(screen.context).apply {
|
||||
val contentRatingSafePref = SwitchPreferenceCompat(screen.context).apply {
|
||||
key = MDConstants.getContentRatingSafePrefKey(dexLang)
|
||||
title = MDConstants.showByDefaultPrefTitle
|
||||
summary = MDConstants.contentRatingSafePrefSummary
|
||||
summary = "Content Rating: Safe"
|
||||
setDefaultValue(true)
|
||||
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
|
@ -336,10 +336,10 @@ abstract class MangaDex(override val lang: String, val dexLang: String) : Config
|
|||
}
|
||||
}
|
||||
|
||||
val contentRatingSuggestivePref = CheckBoxPreference(screen.context).apply {
|
||||
val contentRatingSuggestivePref = SwitchPreferenceCompat(screen.context).apply {
|
||||
key = MDConstants.getContentRatingSuggestivePrefKey(dexLang)
|
||||
title = MDConstants.showByDefaultPrefTitle
|
||||
summary = MDConstants.contentRatingSuggestivePrefSummary
|
||||
summary = "Content Rating: Suggestive"
|
||||
setDefaultValue(true)
|
||||
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
|
@ -350,10 +350,10 @@ abstract class MangaDex(override val lang: String, val dexLang: String) : Config
|
|||
}
|
||||
}
|
||||
|
||||
val contentRatingEroticaPref = CheckBoxPreference(screen.context).apply {
|
||||
val contentRatingEroticaPref = SwitchPreferenceCompat(screen.context).apply {
|
||||
key = MDConstants.getContentRatingEroticaPrefKey(dexLang)
|
||||
title = MDConstants.showByDefaultPrefTitle
|
||||
summary = MDConstants.contentRatingEroticaPrefSummary
|
||||
summary = "Content Rating: Erotica"
|
||||
setDefaultValue(false)
|
||||
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
|
@ -364,10 +364,10 @@ abstract class MangaDex(override val lang: String, val dexLang: String) : Config
|
|||
}
|
||||
}
|
||||
|
||||
val contentRatingPornographicPref = CheckBoxPreference(screen.context).apply {
|
||||
val contentRatingPornographicPref = SwitchPreferenceCompat(screen.context).apply {
|
||||
key = MDConstants.getContentRatingPornographicPrefKey(dexLang)
|
||||
title = MDConstants.showByDefaultPrefTitle
|
||||
summary = MDConstants.contentRatingPornographicPrefSummary
|
||||
summary = "Content Rating: Pornographic"
|
||||
setDefaultValue(false)
|
||||
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
|
@ -381,7 +381,7 @@ abstract class MangaDex(override val lang: String, val dexLang: String) : Config
|
|||
}
|
||||
|
||||
screen.addPreference(dataSaverPref)
|
||||
screen.addPreference(standardHTTPSPref)
|
||||
screen.addPreference(standardHttpsPortPref)
|
||||
screen.addPreference(contentRatingSafePref)
|
||||
screen.addPreference(contentRatingSuggestivePref)
|
||||
screen.addPreference(contentRatingEroticaPref)
|
||||
|
|
Loading…
Reference in New Issue