From 2e8e4b19163a51a720694f52212525a12f01ec05 Mon Sep 17 00:00:00 2001 From: stevenyomi <95685115+stevenyomi@users.noreply.github.com> Date: Thu, 14 Jul 2022 20:40:42 +0800 Subject: [PATCH] Baozi Manhua: fix page list parsing and cleanup (#12560) * Baozi Manhua: fix page list parsing and cleanup * extract banner lib * update changelog * add rate limit --- src/zh/baozimanhua/AndroidManifest.xml | 2 +- src/zh/baozimanhua/CHANGELOG.md | 7 + src/zh/baozimanhua/banner.jpg | Bin 32367 -> 0 bytes src/zh/baozimanhua/build.gradle | 10 +- src/zh/baozimanhua/convert_banner.py | 21 --- .../extension/zh/baozimanhua/BannerData.kt | 5 - .../zh/baozimanhua/BannerInterceptor.kt | 80 -------- .../baozimanhua/{Baozimanhua.kt => Baozi.kt} | 175 ++++-------------- .../extension/zh/baozimanhua/BaoziFilters.kt | 126 +++++++++++++ ...nhuaUrlActivity.kt => BaoziUrlActivity.kt} | 4 +- 10 files changed, 176 insertions(+), 254 deletions(-) delete mode 100644 src/zh/baozimanhua/banner.jpg delete mode 100644 src/zh/baozimanhua/convert_banner.py delete mode 100644 src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BannerData.kt delete mode 100644 src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BannerInterceptor.kt rename src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/{Baozimanhua.kt => Baozi.kt} (59%) create mode 100644 src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaoziFilters.kt rename src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/{BaozimanhuaUrlActivity.kt => BaoziUrlActivity.kt} (90%) diff --git a/src/zh/baozimanhua/AndroidManifest.xml b/src/zh/baozimanhua/AndroidManifest.xml index e0b119d5b..d4f0e9229 100644 --- a/src/zh/baozimanhua/AndroidManifest.xml +++ b/src/zh/baozimanhua/AndroidManifest.xml @@ -3,7 +3,7 @@ package="eu.kanade.tachiyomi.extension"> <application> <activity - android:name=".zh.baozimanhua.BaozimanhuaUrlActivity" + android:name=".zh.baozimanhua.BaoziUrlActivity" android:excludeFromRecents="true" android:exported="true" android:theme="@android:style/Theme.NoDisplay"> diff --git a/src/zh/baozimanhua/CHANGELOG.md b/src/zh/baozimanhua/CHANGELOG.md index a021940dd..50fcc1648 100644 --- a/src/zh/baozimanhua/CHANGELOG.md +++ b/src/zh/baozimanhua/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.3.9 (2022-07-12) + +- 修复章节图片解析 +- 整理代码 +- 优化移除横幅功能,添加设置项 +- 增加限速 + ## 1.3.8 (2022-06-07) - 更好地处理章节上传日期(需要 app 版本 > 0.13.4 或预览版 ≥ r4442) diff --git a/src/zh/baozimanhua/banner.jpg b/src/zh/baozimanhua/banner.jpg deleted file mode 100644 index 4c2f68861c6c3078775190dd833734b803b37cde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32367 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 F|Jfu^L0td< diff --git a/src/zh/baozimanhua/build.gradle b/src/zh/baozimanhua/build.gradle index 2ceebae62..30da50d53 100644 --- a/src/zh/baozimanhua/build.gradle +++ b/src/zh/baozimanhua/build.gradle @@ -2,10 +2,14 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' ext { - extName = 'Baozimanhua' + extName = 'Baozi Manhua' pkgNameSuffix = 'zh.baozimanhua' - extClass = '.Baozimanhua' - extVersionCode = 8 + extClass = '.Baozi' + extVersionCode = 9 } apply from: "$rootDir/common.gradle" + +dependencies { + implementation 'com.github.stevenyomi:baozibanner:9ac9b08e1d' // 1.0 +} diff --git a/src/zh/baozimanhua/convert_banner.py b/src/zh/baozimanhua/convert_banner.py deleted file mode 100644 index c3b03de25..000000000 --- a/src/zh/baozimanhua/convert_banner.py +++ /dev/null @@ -1,21 +0,0 @@ -from base64 import b64encode - -with open('banner.jpg', 'rb') as f: - data = f.read() - -head = b'''\ -package eu.kanade.tachiyomi.extension.zh.baozimanhua - -const val BANNER_BASE64 = "\ -''' - -tail = b'''\ -" -const val BANNER_WIDTH = 800 -const val BANNER_HEIGHT = 282 -''' - -with open('src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BannerData.kt', 'wb') as f: - f.write(head) - f.write(b64encode(data)) - f.write(tail) diff --git a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BannerData.kt b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BannerData.kt deleted file mode 100644 index 7e692251a..000000000 --- a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BannerData.kt +++ /dev/null @@ -1,5 +0,0 @@ -package eu.kanade.tachiyomi.extension.zh.baozimanhua - -const val BANNER_BASE64 = "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" -const val BANNER_WIDTH = 800 -const val BANNER_HEIGHT = 282 diff --git a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BannerInterceptor.kt b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BannerInterceptor.kt deleted file mode 100644 index cec1e60e0..000000000 --- a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BannerInterceptor.kt +++ /dev/null @@ -1,80 +0,0 @@ -package eu.kanade.tachiyomi.extension.zh.baozimanhua - -import android.graphics.Bitmap -import android.graphics.BitmapFactory -import android.util.Base64 -import okhttp3.Interceptor -import okhttp3.MediaType.Companion.toMediaType -import okhttp3.Response -import okhttp3.ResponseBody.Companion.toResponseBody -import java.io.ByteArrayOutputStream -import kotlin.math.abs - -object BannerInterceptor : Interceptor { - private const val w = BANNER_WIDTH - private const val h = BANNER_HEIGHT - private const val size = w * h - private const val threshold = w * h * 3 // 1 per pixel per channel - private val bannerBuffer by lazy { - val buffer = Base64.decode(BANNER_BASE64, Base64.DEFAULT) - val banner = BitmapFactory.decodeByteArray(buffer, 0, buffer.size) - val pixels = IntArray(size) - banner.getPixels(pixels, 0, w, 0, 0, w, h) - pixels - } - - override fun intercept(chain: Interceptor.Chain): Response { - val url = chain.request().url.toString() - val response = chain.proceed(chain.request()) - if (!url.endsWith(COMIC_IMAGE_SUFFIX)) return response - val body = response.body!! - val contentType = body.contentType() - val content = body.bytes() - val bitmap = BitmapFactory.decodeByteArray(content, 0, content.size) - val positions = checkBanner(bitmap) - return if (positions == 0) { - response.newBuilder().body(content.toResponseBody(contentType)).build() - } else { - val result = Bitmap.createBitmap( - bitmap, 0, if (positions and TOP == TOP) h else 0, - bitmap.width, bitmap.height - if (positions == BOTH) h * 2 else h - ) - val output = ByteArrayOutputStream() - result.compress(Bitmap.CompressFormat.JPEG, 90, output) - val responseBody = output.toByteArray().toResponseBody("image/jpeg".toMediaType()) - response.newBuilder().body(responseBody).build() - } - } - - private fun checkBanner(image: Bitmap): Int { - if (image.width < w || image.height < h) return 0 - if ((image.width - w) % 2 != 0) return 0 - val pad = (image.width - w) / 2 - val buf = IntArray(size) - var result = 0 - image.getPixels(buf, 0, w, pad, 0, w, h) // top - if (isIdentical(bannerBuffer, buf)) result = result or TOP - image.getPixels(buf, 0, w, pad, image.height - h, w, h) // bottom - if (isIdentical(bannerBuffer, buf)) result = result or BOTTOM - return result - } - - private fun isIdentical(a: IntArray, b: IntArray): Boolean { - var diff = 0 - for (i in 0 until size) { - val pixel0 = a[i] - val pixel1 = b[i] - diff += abs((pixel0 and 0xFF) - (pixel1 and 0xFF)) - diff += abs((pixel0 shr 8 and 0xFF) - (pixel1 shr 8 and 0xFF)) - diff += abs((pixel0 shr 16 and 0xFF) - (pixel1 shr 16 and 0xFF)) - if (diff > threshold) return false - } - return true - } - - private const val TOP = 0b01 - private const val BOTTOM = 0b10 - private const val BOTH = 0b11 - - const val COMIC_IMAGE_SUFFIX = "#baozi" -} diff --git a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozimanhua.kt b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozi.kt similarity index 59% rename from src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozimanhua.kt rename to src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozi.kt index 83095225f..9ee21e165 100644 --- a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozimanhua.kt +++ b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozi.kt @@ -2,12 +2,14 @@ package eu.kanade.tachiyomi.extension.zh.baozimanhua import android.app.Application import android.content.SharedPreferences +import androidx.preference.ListPreference import androidx.preference.PreferenceScreen +import com.github.stevenyomi.baozibanner.BaoziBanner import eu.kanade.tachiyomi.AppInfo import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.asObservableSuccess +import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource -import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.Page @@ -15,7 +17,6 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup -import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document @@ -26,7 +27,7 @@ import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale -class Baozimanhua : ParsedHttpSource(), ConfigurableSource { +class Baozi : ParsedHttpSource(), ConfigurableSource { override val id = 5724751873601868259 @@ -41,8 +42,14 @@ class Baozimanhua : ParsedHttpSource(), ConfigurableSource { override val supportsLatest = true - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .addInterceptor(BannerInterceptor).build() + private val bannerInterceptor = BaoziBanner( + level = preferences.getString(BaoziBanner.PREF, DEFAULT_LEVEL)!!.toInt() + ) + + override val client = network.client.newBuilder() + .rateLimit(2) + .addInterceptor(bannerInterceptor) + .build() override fun chapterListSelector() = throw UnsupportedOperationException("Not used.") @@ -116,8 +123,8 @@ class Baozimanhua : ParsedHttpSource(), ConfigurableSource { } override fun pageListParse(document: Document): List<Page> { - return document.select(".comic-contain > amp-img").mapIndexed { index, element -> - Page(index, imageUrl = element.attr("src").trim() + BannerInterceptor.COMIC_IMAGE_SUFFIX) + return document.select(".comic-contain amp-img").mapIndexed { index, element -> + Page(index, imageUrl = element.attr("src")) } } @@ -175,142 +182,30 @@ class Baozimanhua : ParsedHttpSource(), ConfigurableSource { } } - override fun getFilterList() = FilterList( - Filter.Header("注意:不影響按標題搜索"), - TagFilter(), - RegionFilter(), - StatusFilter(), - StartFilter() - ) - - private open class UriPartFilter(name: String, val query: String, val vals: Array<Pair<String, String>>) : - Filter.Select<String>(name, vals.map { it.first }.toTypedArray()) { - fun toUriPart() = "$query=${vals[state].second}" - } - - private class TagFilter : UriPartFilter( - "标签", - "type", - arrayOf( - Pair("全部", "all"), - Pair("都市", "dushi"), - Pair("冒险", "mouxian"), - Pair("热血", "rexie"), - Pair("恋爱", "lianai"), - Pair("耽美", "danmei"), - Pair("武侠", "wuxia"), - Pair("格斗", "gedou"), - Pair("科幻", "kehuan"), - Pair("魔幻", "mohuan"), - Pair("推理", "tuili"), - Pair("玄幻", "xuanhuan"), - Pair("日常", "richang"), - Pair("生活", "shenghuo"), - Pair("搞笑", "gaoxiao"), - Pair("校园", "xiaoyuan"), - Pair("奇幻", "qihuan"), - Pair("萌系", "mengxi"), - Pair("穿越", "chuanyue"), - Pair("后宫", "hougong"), - Pair("战争", "zhanzheng"), - Pair("历史", "lishi"), - Pair("剧情", "juqing"), - Pair("同人", "tongren"), - Pair("竞技", "jingji"), - Pair("励志", "lizhi"), - Pair("治愈", "zhiyu"), - Pair("机甲", "jijia"), - Pair("纯爱", "chunai"), - Pair("美食", "meishi"), - Pair("恶搞", "egao"), - Pair("虐心", "nuexin"), - Pair("动作", "dongzuo"), - Pair("惊险", "liangxian"), - Pair("唯美", "weimei"), - Pair("复仇", "fuchou"), - Pair("脑洞", "naodong"), - Pair("宫斗", "gongdou"), - Pair("运动", "yundong"), - Pair("灵异", "lingyi"), - Pair("古风", "gufeng"), - Pair("权谋", "quanmou"), - Pair("节操", "jiecao"), - Pair("明星", "mingxing"), - Pair("暗黑", "anhei"), - Pair("社会", "shehui"), - Pair("音乐舞蹈", "yinlewudao"), - Pair("东方", "dongfang"), - Pair("AA", "aa"), - Pair("悬疑", "xuanyi"), - Pair("轻小说", "qingxiaoshuo"), - Pair("霸总", "bazong"), - Pair("萝莉", "luoli"), - Pair("战斗", "zhandou"), - Pair("惊悚", "liangsong"), - Pair("百合", "yuri"), - Pair("大女主", "danuzhu"), - Pair("幻想", "huanxiang"), - Pair("少女", "shaonu"), - Pair("少年", "shaonian"), - Pair("性转", "xingzhuanhuan"), - Pair("重生", "zhongsheng"), - Pair("韩漫", "hanman"), - Pair("其它", "qita") - ) - ) - - private class RegionFilter : UriPartFilter( - "地区", - "region", - arrayOf( - Pair("全部", "all"), - Pair("国漫", "cn"), - Pair("日本", "jp"), - Pair("韩国", "kr"), - Pair("欧美", "en") - ) - ) - - private class StatusFilter : UriPartFilter( - "进度", - "state", - arrayOf( - Pair("全部", "all"), - Pair("连载中", "serial"), - Pair("已完结", "pub") - ) - ) - - private class StartFilter : UriPartFilter( - "标题开头", - "filter", - arrayOf( - Pair("全部", "*"), - Pair("ABCD", "ABCD"), - Pair("EFGH", "EFGH"), - Pair("IJKL", "IJKL"), - Pair("MNOP", "MNOP"), - Pair("QRST", "QRST"), - Pair("UVW", "UVW"), - Pair("XYZ", "XYZ"), - Pair("0-9", "0-9") - ) - ) + override fun getFilterList() = getFilters() override fun setupPreferenceScreen(screen: PreferenceScreen) { - val mirrorPref = androidx.preference.ListPreference(screen.context).apply { + ListPreference(screen.context).apply { key = MIRROR_PREF title = MIRROR_PREF_TITLE entries = MIRRORS entryValues = MIRRORS summary = MIRROR_PREF_SUMMARY - setDefaultValue(MIRRORS[0]) + }.let { screen.addPreference(it) } + + ListPreference(screen.context).apply { + key = BaoziBanner.PREF + title = BaoziBanner.PREF_TITLE + summary = BaoziBanner.PREF_SUMMARY + entries = BaoziBanner.PREF_ENTRIES + entryValues = BaoziBanner.PREF_VALUES + setDefaultValue(DEFAULT_LEVEL) setOnPreferenceChangeListener { _, newValue -> - preferences.edit().putString(MIRROR_PREF, newValue as String).commit() + bannerInterceptor.level = (newValue as String).toInt() + true } - } - screen.addPreference(mirrorPref) + }.let { screen.addPreference(it) } } companion object { @@ -318,16 +213,12 @@ class Baozimanhua : ParsedHttpSource(), ConfigurableSource { private const val MIRROR_PREF = "MIRROR" private const val MIRROR_PREF_TITLE = "使用镜像网址" - private const val MIRROR_PREF_SUMMARY = "使用镜像网址。重启软件生效。" + private const val MIRROR_PREF_SUMMARY = "重启生效,已选择:%s" private val MIRRORS = arrayOf("cn.baozimh.com", "cn.webmota.com") - private val DATE_FORMAT = SimpleDateFormat("yyyy年MM月dd日", Locale.ENGLISH) - private val isNewDateLogic = run { - val commitCount = AppInfo.getVersionName().substringAfter('-', "") - if (commitCount.isNotEmpty()) // Preview - commitCount.toInt() >= 4442 - else // Stable - AppInfo.getVersionCode() >= 81 - } + private const val DEFAULT_LEVEL = BaoziBanner.NORMAL.toString() + + private val DATE_FORMAT by lazy { SimpleDateFormat("yyyy年MM月dd日", Locale.ENGLISH) } + private val isNewDateLogic = AppInfo.getVersionCode() >= 81 } } diff --git a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaoziFilters.kt b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaoziFilters.kt new file mode 100644 index 000000000..d94d2ad54 --- /dev/null +++ b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaoziFilters.kt @@ -0,0 +1,126 @@ +package eu.kanade.tachiyomi.extension.zh.baozimanhua + +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList + +fun getFilters() = FilterList( + Filter.Header("注意:不影響按標題搜索"), + TagFilter(), + RegionFilter(), + StatusFilter(), + StartFilter() +) + +open class UriPartFilter(name: String, private val query: String, private val vals: Array<Pair<String, String>>) : + Filter.Select<String>(name, vals.map { it.first }.toTypedArray()) { + fun toUriPart() = "$query=${vals[state].second}" +} + +private class TagFilter : UriPartFilter( + "标签", + "type", + arrayOf( + Pair("全部", "all"), + Pair("都市", "dushi"), + Pair("冒险", "mouxian"), + Pair("热血", "rexie"), + Pair("恋爱", "lianai"), + Pair("耽美", "danmei"), + Pair("武侠", "wuxia"), + Pair("格斗", "gedou"), + Pair("科幻", "kehuan"), + Pair("魔幻", "mohuan"), + Pair("推理", "tuili"), + Pair("玄幻", "xuanhuan"), + Pair("日常", "richang"), + Pair("生活", "shenghuo"), + Pair("搞笑", "gaoxiao"), + Pair("校园", "xiaoyuan"), + Pair("奇幻", "qihuan"), + Pair("萌系", "mengxi"), + Pair("穿越", "chuanyue"), + Pair("后宫", "hougong"), + Pair("战争", "zhanzheng"), + Pair("历史", "lishi"), + Pair("剧情", "juqing"), + Pair("同人", "tongren"), + Pair("竞技", "jingji"), + Pair("励志", "lizhi"), + Pair("治愈", "zhiyu"), + Pair("机甲", "jijia"), + Pair("纯爱", "chunai"), + Pair("美食", "meishi"), + Pair("恶搞", "egao"), + Pair("虐心", "nuexin"), + Pair("动作", "dongzuo"), + Pair("惊险", "liangxian"), + Pair("唯美", "weimei"), + Pair("复仇", "fuchou"), + Pair("脑洞", "naodong"), + Pair("宫斗", "gongdou"), + Pair("运动", "yundong"), + Pair("灵异", "lingyi"), + Pair("古风", "gufeng"), + Pair("权谋", "quanmou"), + Pair("节操", "jiecao"), + Pair("明星", "mingxing"), + Pair("暗黑", "anhei"), + Pair("社会", "shehui"), + Pair("音乐舞蹈", "yinlewudao"), + Pair("东方", "dongfang"), + Pair("AA", "aa"), + Pair("悬疑", "xuanyi"), + Pair("轻小说", "qingxiaoshuo"), + Pair("霸总", "bazong"), + Pair("萝莉", "luoli"), + Pair("战斗", "zhandou"), + Pair("惊悚", "liangsong"), + Pair("百合", "yuri"), + Pair("大女主", "danuzhu"), + Pair("幻想", "huanxiang"), + Pair("少女", "shaonu"), + Pair("少年", "shaonian"), + Pair("性转", "xingzhuanhuan"), + Pair("重生", "zhongsheng"), + Pair("韩漫", "hanman"), + Pair("其它", "qita") + ) +) + +private class RegionFilter : UriPartFilter( + "地区", + "region", + arrayOf( + Pair("全部", "all"), + Pair("国漫", "cn"), + Pair("日本", "jp"), + Pair("韩国", "kr"), + Pair("欧美", "en") + ) +) + +private class StatusFilter : UriPartFilter( + "进度", + "state", + arrayOf( + Pair("全部", "all"), + Pair("连载中", "serial"), + Pair("已完结", "pub") + ) +) + +private class StartFilter : UriPartFilter( + "标题开头", + "filter", + arrayOf( + Pair("全部", "*"), + Pair("ABCD", "ABCD"), + Pair("EFGH", "EFGH"), + Pair("IJKL", "IJKL"), + Pair("MNOP", "MNOP"), + Pair("QRST", "QRST"), + Pair("UVW", "UVW"), + Pair("XYZ", "XYZ"), + Pair("0-9", "0-9") + ) +) diff --git a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaozimanhuaUrlActivity.kt b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaoziUrlActivity.kt similarity index 90% rename from src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaozimanhuaUrlActivity.kt rename to src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaoziUrlActivity.kt index fa4419e3b..e489078dc 100644 --- a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaozimanhuaUrlActivity.kt +++ b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/BaoziUrlActivity.kt @@ -7,7 +7,7 @@ import android.os.Bundle import android.util.Log import kotlin.system.exitProcess -class BaozimanhuaUrlActivity : Activity() { +class BaoziUrlActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val pathSegments = intent?.data?.pathSegments @@ -19,7 +19,7 @@ class BaozimanhuaUrlActivity : Activity() { } val mainIntent = Intent().apply { action = "eu.kanade.tachiyomi.SEARCH" - putExtra("query", "${Baozimanhua.ID_SEARCH_PREFIX}$id") + putExtra("query", "${Baozi.ID_SEARCH_PREFIX}$id") putExtra("filter", packageName) }