diff --git a/src/all/mangadex/AndroidManifest.xml b/src/all/mangadex/AndroidManifest.xml
index 2d0b5ac04..a4305a7ec 100644
--- a/src/all/mangadex/AndroidManifest.xml
+++ b/src/all/mangadex/AndroidManifest.xml
@@ -13,6 +13,10 @@
android:scheme="https"
android:host="mangadex.org"
android:pathPattern="/title/..*" />
+
diff --git a/src/all/mangadex/build.gradle b/src/all/mangadex/build.gradle
index 50d775eb9..8bf37250f 100644
--- a/src/all/mangadex/build.gradle
+++ b/src/all/mangadex/build.gradle
@@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: MangaDex'
pkgNameSuffix = 'all.mangadex'
extClass = '.MangadexFactory'
- extVersionCode = 60
+ extVersionCode = 61
libVersion = '1.2'
}
diff --git a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt
index cae0a5a22..55d4806ce 100644
--- a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt
+++ b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt
@@ -468,6 +468,11 @@ open class Mangadex(override val lang: String, private val internalLang: String,
override fun chapterFromElement(element: Element) = throw Exception("Not used")
+ override fun pageListRequest(chapter: SChapter): Request {
+ val server = getServer()
+ return GET("$baseUrl${chapter.url}?server=$server")
+ }
+
override fun pageListParse(document: Document) = throw Exception("Not used")
override fun pageListParse(response: Response): List {
@@ -532,13 +537,29 @@ open class Mangadex(override val lang: String, private val internalLang: String,
preferences.edit().putInt(SHOW_THUMBNAIL_PREF, index).commit()
}
}
+ val serverPref = ListPreference(screen.context).apply {
+ key = SERVER_PREF_Title
+ title = SERVER_PREF_Title
+ entries = arrayOf("Auto", "North America", "North America 2", "Europe", "Europe 2", "Rest of the World")
+ entryValues = arrayOf("0", "na", "na2", "eu", "eu2", "row")
+ summary = "%s"
+
+ setOnPreferenceChangeListener { _, newValue ->
+ val selected = newValue as String
+ val index = this.findIndexOfValue(selected)
+ val entry = entryValues.get(index) as String
+ preferences.edit().putString(SERVER_PREF, entry).commit()
+ }
+ }
screen.addPreference(myPref)
screen.addPreference(thumbsPref)
+ screen.addPreference(serverPref)
}
private fun getShowR18(): Int = preferences.getInt(SHOW_R18_PREF, 0)
private fun getShowThumbnail(): Int = preferences.getInt(SHOW_THUMBNAIL_PREF, 0)
+ private fun getServer(): String = preferences.getString(SERVER_PREF, "0")
private class TextField(name: String, val key: String) : Filter.Text(name)
@@ -683,6 +704,9 @@ open class Mangadex(override val lang: String, private val internalLang: String,
private const val SHOW_THUMBNAIL_PREF_Title = "Default thumbnail quality"
private const val SHOW_THUMBNAIL_PREF = "showThumbnailDefault"
+ private const val SERVER_PREF_Title = "Image server"
+ private const val SERVER_PREF = "imageServer"
+
private const val API_MANGA = "/api/manga/"
private const val API_CHAPTER = "/api/chapter/"