diff --git a/src/ru/libmanga/build.gradle b/src/ru/libmanga/build.gradle index 88681987c..a31cb3e89 100644 --- a/src/ru/libmanga/build.gradle +++ b/src/ru/libmanga/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'MangaLib' pkgNameSuffix = 'ru.libmanga' extClass = '.LibManga' - extVersionCode = 28 + extVersionCode = 29 libVersion = '1.2' } diff --git a/src/ru/libmanga/src/eu/kanade/tachiyomi/extension/ru/libmanga/LibManga.kt b/src/ru/libmanga/src/eu/kanade/tachiyomi/extension/ru/libmanga/LibManga.kt index 8bd3bd6c4..f4dd6b429 100644 --- a/src/ru/libmanga/src/eu/kanade/tachiyomi/extension/ru/libmanga/LibManga.kt +++ b/src/ru/libmanga/src/eu/kanade/tachiyomi/extension/ru/libmanga/LibManga.kt @@ -2,8 +2,8 @@ package eu.kanade.tachiyomi.extension.ru.libmanga import android.app.Application import android.content.SharedPreferences -import android.support.v7.preference.ListPreference -import android.support.v7.preference.PreferenceScreen +import androidx.preference.ListPreference +import androidx.preference.PreferenceScreen import com.github.salomonbrys.kotson.array import com.github.salomonbrys.kotson.get import com.github.salomonbrys.kotson.int @@ -36,6 +36,8 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale +import android.support.v7.preference.ListPreference as LegacyListPreference +import android.support.v7.preference.PreferenceScreen as LegacyPreferenceScreen class LibManga : ConfigurableSource, HttpSource() { @@ -61,42 +63,6 @@ class LibManga : ConfigurableSource, HttpSource() { private val jsonParser = JsonParser() - private var server: String? = preferences.getString(SERVER_PREF, null) - - override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) { - val serverPref = androidx.preference.ListPreference(screen.context).apply { - key = SERVER_PREF - title = SERVER_PREF_Title - entries = arrayOf("Основной", "Второй (тестовый)", "Третий (эконом трафика)") - entryValues = arrayOf("secondary", "fourth", "compress") - summary = "%s" - - setOnPreferenceChangeListener { _, newValue -> - server = newValue.toString() - true - } - } - - screen.addPreference(serverPref) - } - - override fun setupPreferenceScreen(screen: PreferenceScreen) { - val serverPref = ListPreference(screen.context).apply { - key = SERVER_PREF - title = SERVER_PREF_Title - entries = arrayOf("Основной", "Второй (тестовый)", "Третий (эконом трафика)") - entryValues = arrayOf("secondary", "fourth", "compress") - summary = "%s" - - setOnPreferenceChangeListener { _, newValue -> - server = newValue.toString() - true - } - } - - screen.addPreference(serverPref) - } - override fun latestUpdatesRequest(page: Int) = GET(baseUrl, headers) private val latestUpdatesSelector = "div.updates__item" @@ -198,7 +164,7 @@ class LibManga : ConfigurableSource, HttpSource() { val genres = document.select(".media-tags > a").map { it.text() } - manga.title = document.select(".media-name__main").text() + manga.title = document.select(".media-name__alt").text() manga.thumbnail_url = document.select(".media-sidebar__cover > img").attr("src") manga.author = body.select("div.media-info-list__title:contains(Автор) + div").text() manga.artist = body.select("div.media-info-list__title:contains(Художник) + div").text() @@ -227,26 +193,17 @@ class LibManga : ConfigurableSource, HttpSource() { val data = jsonParser.parse(dataStr).obj val chaptersList = data["chapters"]["list"].nullArray val slug = data["manga"]["slug"].string - val teams = data["chapters"]["branches"].array - val teamId = if (teams.size() > 0) teams[0]["id"].int else null - val chapters = if (teamId == null) { - chaptersList?.map { chapterFromElement(it, slug) } - } else { - chaptersList?.filter { it["branch_id"].int == teamId }?.map { chapterFromElement(it, slug, teamId) } - } - - return chapters ?: emptyList() + return chaptersList?.map { chapterFromElement(it, slug) } ?: emptyList() } - private fun chapterFromElement(chapterItem: JsonElement, slug: String, teamIdParam: Int? = null): SChapter { + private fun chapterFromElement(chapterItem: JsonElement, slug: String): SChapter { val chapter = SChapter.create() val volume = chapterItem["chapter_volume"].int val number = chapterItem["chapter_number"].string - val teamId = if (teamIdParam != null) "?bid=$teamIdParam" else "" - val url = "$baseUrl/$slug/v$volume/c$number$teamId" + val url = "$baseUrl/$slug/v$volume/c$number" chapter.setUrlWithoutDomain(url) @@ -501,8 +458,44 @@ class LibManga : ConfigurableSource, HttpSource() { ) companion object { - private const val SERVER_PREF_Title = "Сервер изображений" - private const val SERVER_PREF = "MangaLibImageServer" const val PREFIX_SLUG_SEARCH = "slug:" + private const val SERVER_PREF = "MangaLibImageServer" + private const val SERVER_PREF_Title = "Сервер изображений" + } + + private var server: String? = preferences.getString(SERVER_PREF, null) + + override fun setupPreferenceScreen(screen: PreferenceScreen) { + val serverPref = ListPreference(screen.context).apply { + key = SERVER_PREF + title = SERVER_PREF_Title + entries = arrayOf("Основной", "Второй (тестовый)", "Третий (эконом трафика)") + entryValues = arrayOf("secondary", "fourth", "compress") + summary = "%s" + + setOnPreferenceChangeListener { _, newValue -> + server = newValue.toString() + true + } + } + + screen.addPreference(serverPref) + } + + override fun setupPreferenceScreen(screen: LegacyPreferenceScreen) { + val serverPref = LegacyListPreference(screen.context).apply { + key = SERVER_PREF + title = SERVER_PREF_Title + entries = arrayOf("Основной", "Второй (тестовый)", "Третий (эконом трафика)") + entryValues = arrayOf("secondary", "fourth", "compress") + summary = "%s" + + setOnPreferenceChangeListener { _, newValue -> + server = newValue.toString() + true + } + } + + screen.addPreference(serverPref) } }