From adb8b29ddab87eb67200fddc682906f2ea63fc53 Mon Sep 17 00:00:00 2001
From: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Date: Wed, 11 May 2022 15:52:34 -0300
Subject: [PATCH] Split Bilibili and make it multisrc. (#11815)
---
.run/BilibiliGenerator.run.xml | 17 +++
.../bilibilicomics}/AndroidManifest.xml | 14 +-
.../src/BilibiliComicsFactory.kt | 97 ++++++++++++-
.../bilibilimanga/AndroidManifest.xml | 29 ++++
.../bilibilimanga/src/BilibiliManga.kt | 64 +++++++++
.../bilibili/default/AndroidManifest.xml | 23 +++
.../bilibili/default/additional.gradle.kts | 4 +
.../default}/res/mipmap-hdpi/ic_launcher.png | Bin
.../default}/res/mipmap-mdpi/ic_launcher.png | Bin
.../default}/res/mipmap-xhdpi/ic_launcher.png | Bin
.../res/mipmap-xxhdpi/ic_launcher.png | Bin
.../res/mipmap-xxxhdpi/ic_launcher.png | Bin
.../bilibili/default}/res/web_hi_res_512.png | Bin
.../tachiyomi/multisrc}/bilibili/Bilibili.kt | 16 +--
.../multisrc}/bilibili/BilibiliDto.kt | 2 +-
.../multisrc}/bilibili/BilibiliFilters.kt | 2 +-
.../multisrc/bilibili/BilibiliGenerator.kt | 26 ++++
.../multisrc}/bilibili/BilibiliUrlActivity.kt | 2 +-
.../tachiyomi/multisrc}/bilibili/README.md | 6 +-
src/all/bilibili/build.gradle | 16 ---
.../extension/all/bilibili/BilibiliFactory.kt | 134 ------------------
21 files changed, 272 insertions(+), 180 deletions(-)
create mode 100644 .run/BilibiliGenerator.run.xml
rename {src/all/bilibili => multisrc/overrides/bilibili/bilibilicomics}/AndroidManifest.xml (76%)
rename src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliComics.kt => multisrc/overrides/bilibili/bilibilicomics/src/BilibiliComicsFactory.kt (70%)
create mode 100644 multisrc/overrides/bilibili/bilibilimanga/AndroidManifest.xml
create mode 100644 multisrc/overrides/bilibili/bilibilimanga/src/BilibiliManga.kt
create mode 100644 multisrc/overrides/bilibili/default/AndroidManifest.xml
create mode 100644 multisrc/overrides/bilibili/default/additional.gradle.kts
rename {src/all/bilibili => multisrc/overrides/bilibili/default}/res/mipmap-hdpi/ic_launcher.png (100%)
rename {src/all/bilibili => multisrc/overrides/bilibili/default}/res/mipmap-mdpi/ic_launcher.png (100%)
rename {src/all/bilibili => multisrc/overrides/bilibili/default}/res/mipmap-xhdpi/ic_launcher.png (100%)
rename {src/all/bilibili => multisrc/overrides/bilibili/default}/res/mipmap-xxhdpi/ic_launcher.png (100%)
rename {src/all/bilibili => multisrc/overrides/bilibili/default}/res/mipmap-xxxhdpi/ic_launcher.png (100%)
rename {src/all/bilibili => multisrc/overrides/bilibili/default}/res/web_hi_res_512.png (100%)
rename {src/all/bilibili/src/eu/kanade/tachiyomi/extension/all => multisrc/src/main/java/eu/kanade/tachiyomi/multisrc}/bilibili/Bilibili.kt (96%)
rename {src/all/bilibili/src/eu/kanade/tachiyomi/extension/all => multisrc/src/main/java/eu/kanade/tachiyomi/multisrc}/bilibili/BilibiliDto.kt (98%)
rename {src/all/bilibili/src/eu/kanade/tachiyomi/extension/all => multisrc/src/main/java/eu/kanade/tachiyomi/multisrc}/bilibili/BilibiliFilters.kt (94%)
create mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliGenerator.kt
rename {src/all/bilibili/src/eu/kanade/tachiyomi/extension/all => multisrc/src/main/java/eu/kanade/tachiyomi/multisrc}/bilibili/BilibiliUrlActivity.kt (96%)
rename {src/all => multisrc/src/main/java/eu/kanade/tachiyomi/multisrc}/bilibili/README.md (94%)
delete mode 100644 src/all/bilibili/build.gradle
delete mode 100644 src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliFactory.kt
diff --git a/.run/BilibiliGenerator.run.xml b/.run/BilibiliGenerator.run.xml
new file mode 100644
index 000000000..acb5cd96d
--- /dev/null
+++ b/.run/BilibiliGenerator.run.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/all/bilibili/AndroidManifest.xml b/multisrc/overrides/bilibili/bilibilicomics/AndroidManifest.xml
similarity index 76%
rename from src/all/bilibili/AndroidManifest.xml
rename to multisrc/overrides/bilibili/bilibilicomics/AndroidManifest.xml
index 3ae58c91b..47787bc19 100644
--- a/src/all/bilibili/AndroidManifest.xml
+++ b/multisrc/overrides/bilibili/bilibilicomics/AndroidManifest.xml
@@ -4,7 +4,7 @@
@@ -33,17 +33,7 @@
android:host="m.bilibilicomics.com"
android:pathPattern="/detail/mc..*"
android:scheme="https" />
-
-
-
-
-
+
\ No newline at end of file
diff --git a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliComics.kt b/multisrc/overrides/bilibili/bilibilicomics/src/BilibiliComicsFactory.kt
similarity index 70%
rename from src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliComics.kt
rename to multisrc/overrides/bilibili/bilibilicomics/src/BilibiliComicsFactory.kt
index 69f613a35..d3f680679 100644
--- a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliComics.kt
+++ b/multisrc/overrides/bilibili/bilibilicomics/src/BilibiliComicsFactory.kt
@@ -1,6 +1,17 @@
-package eu.kanade.tachiyomi.extension.all.bilibili
+package eu.kanade.tachiyomi.extension.all.bilibilicomics
+import eu.kanade.tachiyomi.lib.ratelimit.SpecificHostRateLimitInterceptor
+import eu.kanade.tachiyomi.multisrc.bilibili.Bilibili
+import eu.kanade.tachiyomi.multisrc.bilibili.BilibiliAccessToken
+import eu.kanade.tachiyomi.multisrc.bilibili.BilibiliAccessTokenCookie
+import eu.kanade.tachiyomi.multisrc.bilibili.BilibiliComicDto
+import eu.kanade.tachiyomi.multisrc.bilibili.BilibiliCredential
+import eu.kanade.tachiyomi.multisrc.bilibili.BilibiliGetCredential
+import eu.kanade.tachiyomi.multisrc.bilibili.BilibiliTag
+import eu.kanade.tachiyomi.multisrc.bilibili.BilibiliUnlockedEpisode
+import eu.kanade.tachiyomi.multisrc.bilibili.BilibiliUserEpisodes
import eu.kanade.tachiyomi.network.POST
+import eu.kanade.tachiyomi.source.SourceFactory
import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter
import kotlinx.serialization.decodeFromString
@@ -17,13 +28,26 @@ import okio.Buffer
import java.io.IOException
import java.net.URLDecoder
+class BilibiliComicsFactory : SourceFactory {
+ override fun createSources() = listOf(
+ BilibiliComicsEn(),
+ BilibiliComicsCn(),
+ BilibiliComicsId(),
+ )
+}
+
abstract class BilibiliComics(lang: String) : Bilibili(
"BILIBILI COMICS",
"https://www.bilibilicomics.com",
lang
) {
+
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::signedInIntercept)
+ .addInterceptor(::expiredTokenIntercept)
+ .addInterceptor(SpecificHostRateLimitInterceptor(baseUrl.toHttpUrl(), 1))
+ .addInterceptor(SpecificHostRateLimitInterceptor(CDN_URL.toHttpUrl(), 2))
+ .addInterceptor(SpecificHostRateLimitInterceptor(COVER_CDN_URL.toHttpUrl(), 2))
.build()
override val signedIn: Boolean
@@ -246,3 +270,74 @@ abstract class BilibiliComics(lang: String) : Bilibili(
"Failed to get the credential to read the chapter."
}
}
+
+class BilibiliComicsEn : BilibiliComics("en") {
+
+ override fun getAllGenres(): Array = arrayOf(
+ BilibiliTag("All", -1),
+ BilibiliTag("Action", 19),
+ BilibiliTag("Adventure", 22),
+ BilibiliTag("BL", 3),
+ BilibiliTag("Comedy", 14),
+ BilibiliTag("Eastern", 30),
+ BilibiliTag("Fantasy", 11),
+ BilibiliTag("GL", 16),
+ BilibiliTag("Harem", 15),
+ BilibiliTag("Historical", 12),
+ BilibiliTag("Horror", 23),
+ BilibiliTag("Mistery", 17),
+ BilibiliTag("Romance", 13),
+ BilibiliTag("Slice of Life", 21),
+ BilibiliTag("Suspense", 41),
+ BilibiliTag("Teen", 20)
+ )
+}
+
+class BilibiliComicsCn : BilibiliComics("zh-Hans") {
+
+ override fun getAllSortOptions(): Array = arrayOf("为你推荐", "人气推荐", "更新时间")
+
+ override fun getAllStatus(): Array = arrayOf("全部", "连载中", "已完结")
+
+ override fun getAllPrices(): Array = arrayOf("全部", "免费", "付费")
+
+ override fun getAllGenres(): Array = arrayOf(
+ BilibiliTag("全部", -1),
+ BilibiliTag("校园", 18),
+ BilibiliTag("都市", 9),
+ BilibiliTag("耽美", 3),
+ BilibiliTag("少女", 20),
+ BilibiliTag("恋爱", 13),
+ BilibiliTag("奇幻", 11),
+ BilibiliTag("热血", 19),
+ BilibiliTag("冒险", 22),
+ BilibiliTag("古风", 12),
+ BilibiliTag("百合", 16),
+ BilibiliTag("玄幻", 30),
+ BilibiliTag("悬疑", 41),
+ BilibiliTag("科幻", 8)
+ )
+}
+
+class BilibiliComicsId : BilibiliComics("id") {
+
+ override fun getAllSortOptions(): Array = arrayOf("Kamu Mungkin Suka", "Populer", "Terbaru")
+
+ override fun getAllStatus(): Array = arrayOf("Semua", "Berlangsung", "Tamat")
+
+ override fun getAllPrices(): Array = arrayOf("Semua", "Bebas", "Dibayar")
+
+ override fun getAllGenres(): Array = arrayOf(
+ BilibiliTag("Semua", -1),
+ BilibiliTag("Aksi", 19),
+ BilibiliTag("Fantasi Timur", 30),
+ BilibiliTag("Fantasi", 11),
+ BilibiliTag("Historis", 12),
+ BilibiliTag("Horror", 23),
+ BilibiliTag("Kampus", 18),
+ BilibiliTag("Komedi", 14),
+ BilibiliTag("Menegangkan", 41),
+ BilibiliTag("Remaja", 20),
+ BilibiliTag("Romantis", 13)
+ )
+}
diff --git a/multisrc/overrides/bilibili/bilibilimanga/AndroidManifest.xml b/multisrc/overrides/bilibili/bilibilimanga/AndroidManifest.xml
new file mode 100644
index 000000000..36b5bd4bf
--- /dev/null
+++ b/multisrc/overrides/bilibili/bilibilimanga/AndroidManifest.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/multisrc/overrides/bilibili/bilibilimanga/src/BilibiliManga.kt b/multisrc/overrides/bilibili/bilibilimanga/src/BilibiliManga.kt
new file mode 100644
index 000000000..c2767cb59
--- /dev/null
+++ b/multisrc/overrides/bilibili/bilibilimanga/src/BilibiliManga.kt
@@ -0,0 +1,64 @@
+package eu.kanade.tachiyomi.extension.zh.bilibilimanga
+
+import eu.kanade.tachiyomi.lib.ratelimit.SpecificHostRateLimitInterceptor
+import eu.kanade.tachiyomi.multisrc.bilibili.Bilibili
+import eu.kanade.tachiyomi.multisrc.bilibili.BilibiliTag
+import okhttp3.HttpUrl.Companion.toHttpUrl
+import okhttp3.OkHttpClient
+
+class BilibiliManga : Bilibili(
+ "哔哩哔哩漫画",
+ "https://manga.bilibili.com",
+ "zh-Hans"
+) {
+
+ override val id: Long = 3561131545129718586
+
+ override val client: OkHttpClient = super.client.newBuilder()
+ .addInterceptor(::expiredTokenIntercept)
+ .addInterceptor(SpecificHostRateLimitInterceptor(baseUrl.toHttpUrl(), 1))
+ .addInterceptor(SpecificHostRateLimitInterceptor(CDN_URL.toHttpUrl(), 2))
+ .addInterceptor(SpecificHostRateLimitInterceptor(COVER_CDN_URL.toHttpUrl(), 2))
+ .build()
+
+ override val defaultPopularSort: Int = 0
+
+ override val defaultLatestSort: Int = 1
+
+ override fun getAllStatus(): Array = arrayOf("全部", "连载", "完结")
+
+ override fun getAllSortOptions(): Array = arrayOf("人气推荐", "更新时间", "追漫人数", "上架时间")
+
+ override fun getAllPrices(): Array = arrayOf("全部", "免费", "付费", "等就免费")
+
+ override fun getAllGenres(): Array = arrayOf(
+ BilibiliTag("全部", -1),
+ BilibiliTag("竞技", 1034),
+ BilibiliTag("冒险", 1013),
+ BilibiliTag("热血", 999),
+ BilibiliTag("搞笑", 994),
+ BilibiliTag("恋爱", 995),
+ BilibiliTag("少女", 1026),
+ BilibiliTag("日常", 1020),
+ BilibiliTag("校园", 1001),
+ BilibiliTag("治愈", 1007),
+ BilibiliTag("古风", 997),
+ BilibiliTag("玄幻", 1016),
+ BilibiliTag("奇幻", 998),
+ BilibiliTag("惊奇", 996),
+ BilibiliTag("悬疑", 1023),
+ BilibiliTag("都市", 1002),
+ BilibiliTag("剧情", 1030),
+ BilibiliTag("总裁", 1004),
+ BilibiliTag("科幻", 1015),
+ BilibiliTag("正能量", 1028),
+ )
+
+ override fun getAllAreas(): Array = arrayOf(
+ BilibiliTag("全部", -1),
+ BilibiliTag("大陆", 1),
+ BilibiliTag("日本", 2),
+ BilibiliTag("韩国", 6),
+ BilibiliTag("其他", 5),
+ )
+}
diff --git a/multisrc/overrides/bilibili/default/AndroidManifest.xml b/multisrc/overrides/bilibili/default/AndroidManifest.xml
new file mode 100644
index 000000000..28803fa65
--- /dev/null
+++ b/multisrc/overrides/bilibili/default/AndroidManifest.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/multisrc/overrides/bilibili/default/additional.gradle.kts b/multisrc/overrides/bilibili/default/additional.gradle.kts
new file mode 100644
index 000000000..10beb8157
--- /dev/null
+++ b/multisrc/overrides/bilibili/default/additional.gradle.kts
@@ -0,0 +1,4 @@
+
+dependencies {
+ implementation project(':lib-ratelimit')
+}
diff --git a/src/all/bilibili/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/bilibili/default/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from src/all/bilibili/res/mipmap-hdpi/ic_launcher.png
rename to multisrc/overrides/bilibili/default/res/mipmap-hdpi/ic_launcher.png
diff --git a/src/all/bilibili/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/bilibili/default/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from src/all/bilibili/res/mipmap-mdpi/ic_launcher.png
rename to multisrc/overrides/bilibili/default/res/mipmap-mdpi/ic_launcher.png
diff --git a/src/all/bilibili/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/bilibili/default/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from src/all/bilibili/res/mipmap-xhdpi/ic_launcher.png
rename to multisrc/overrides/bilibili/default/res/mipmap-xhdpi/ic_launcher.png
diff --git a/src/all/bilibili/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/bilibili/default/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from src/all/bilibili/res/mipmap-xxhdpi/ic_launcher.png
rename to multisrc/overrides/bilibili/default/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/src/all/bilibili/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/bilibili/default/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from src/all/bilibili/res/mipmap-xxxhdpi/ic_launcher.png
rename to multisrc/overrides/bilibili/default/res/mipmap-xxxhdpi/ic_launcher.png
diff --git a/src/all/bilibili/res/web_hi_res_512.png b/multisrc/overrides/bilibili/default/res/web_hi_res_512.png
similarity index 100%
rename from src/all/bilibili/res/web_hi_res_512.png
rename to multisrc/overrides/bilibili/default/res/web_hi_res_512.png
diff --git a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/Bilibili.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/Bilibili.kt
similarity index 96%
rename from src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/Bilibili.kt
rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/Bilibili.kt
index e8170c057..5dd90d6b5 100644
--- a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/Bilibili.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/Bilibili.kt
@@ -1,10 +1,9 @@
-package eu.kanade.tachiyomi.extension.all.bilibili
+package eu.kanade.tachiyomi.multisrc.bilibili
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
-import eu.kanade.tachiyomi.lib.ratelimit.SpecificHostRateLimitInterceptor
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.asObservableSuccess
import eu.kanade.tachiyomi.source.ConfigurableSource
@@ -44,12 +43,7 @@ abstract class Bilibili(
override val supportsLatest = true
- override val client: OkHttpClient = network.cloudflareClient.newBuilder()
- .addInterceptor(::expiredTokenIntercept)
- .addInterceptor(SpecificHostRateLimitInterceptor(baseUrl.toHttpUrl(), 1))
- .addInterceptor(SpecificHostRateLimitInterceptor(CDN_URL.toHttpUrl(), 2))
- .addInterceptor(SpecificHostRateLimitInterceptor(COVER_CDN_URL.toHttpUrl(), 2))
- .build()
+ override val client: OkHttpClient = network.cloudflareClient
override fun headersBuilder(): Headers.Builder = Headers.Builder()
.add("Accept", ACCEPT_JSON)
@@ -516,7 +510,7 @@ abstract class Bilibili(
return FilterList(filters)
}
- private fun expiredTokenIntercept(chain: Interceptor.Chain): Response {
+ protected fun expiredTokenIntercept(chain: Interceptor.Chain): Response {
val response = chain.proceed(chain.request())
// Get a new image token if the current one expired.
@@ -562,8 +556,8 @@ abstract class Bilibili(
}
companion object {
- private const val CDN_URL = "https://manga.hdslb.com"
- private const val COVER_CDN_URL = "https://i0.hdslb.com"
+ const val CDN_URL = "https://manga.hdslb.com"
+ const val COVER_CDN_URL = "https://i0.hdslb.com"
const val BASE_API_COMIC_ENDPOINT = "twirp/comic.v1.Comic"
const val BASE_API_USER_ENDPOINT = "twirp/comic.v1.User"
diff --git a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliDto.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliDto.kt
similarity index 98%
rename from src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliDto.kt
rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliDto.kt
index 5d34527c5..f83ff365c 100644
--- a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliDto.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliDto.kt
@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.extension.all.bilibili
+package eu.kanade.tachiyomi.multisrc.bilibili
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliFilters.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliFilters.kt
similarity index 94%
rename from src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliFilters.kt
rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliFilters.kt
index 9905c8cf2..74ffc874c 100644
--- a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliFilters.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliFilters.kt
@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.extension.all.bilibili
+package eu.kanade.tachiyomi.multisrc.bilibili
import eu.kanade.tachiyomi.source.model.Filter
diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliGenerator.kt
new file mode 100644
index 000000000..ea0f2acc0
--- /dev/null
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliGenerator.kt
@@ -0,0 +1,26 @@
+package eu.kanade.tachiyomi.multisrc.bilibili
+
+import generator.ThemeSourceData.MultiLang
+import generator.ThemeSourceData.SingleLang
+import generator.ThemeSourceGenerator
+
+class BilibiliGenerator : ThemeSourceGenerator {
+
+ override val themePkg = "bilibili"
+
+ override val themeClass = "Bilibili"
+
+ override val baseVersionCode: Int = 1
+
+ override val sources = listOf(
+ MultiLang("BILIBILI COMICS", "https://www.bilibilicomics.com", listOf("en", "zh-Hans", "id"), className = "BilibiliComicsFactory"),
+ SingleLang("BILIBILI MANGA", "https://manga.bilibili.com", "zh-Hans", className = "BilibiliManga")
+ )
+
+ companion object {
+ @JvmStatic
+ fun main(args: Array) {
+ BilibiliGenerator().createAll()
+ }
+ }
+}
diff --git a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliUrlActivity.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliUrlActivity.kt
similarity index 96%
rename from src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliUrlActivity.kt
rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliUrlActivity.kt
index d428c148d..eeb968411 100644
--- a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliUrlActivity.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/BilibiliUrlActivity.kt
@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.extension.all.bilibili
+package eu.kanade.tachiyomi.multisrc.bilibili
import android.app.Activity
import android.content.ActivityNotFoundException
diff --git a/src/all/bilibili/README.md b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/README.md
similarity index 94%
rename from src/all/bilibili/README.md
rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/README.md
index b20de4a6f..003a4b3bf 100644
--- a/src/all/bilibili/README.md
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/bilibili/README.md
@@ -5,7 +5,7 @@ Table of Content
- [Why are some chapters missing?](#why-are-some-chapters-missing)
- [Guides](#Guides)
- [Reading already paid chapters](#reading-already-paid-chapters)
-
+
Don't find the question you are looking for? Go check out our general FAQs and Guides
over at [Extension FAQ] or [Getting Started].
@@ -36,8 +36,8 @@ Follow the following steps to be able to sign in and get access to them:
#### Observations
- Sign in with your Google account is not supported due to WebView restrictions
- access that Google have. You need to have a simple account in order to be able
- to login via WebView.
+ access that Google have. **You need to have a simple account in order to be able
+ to login via WebView**.
- You may sometime face the *"Failed to refresh the token"* error. To fix it,
you just need to open the WebView, await for the website to completely load.
After that, you can close the WebView and try again.
diff --git a/src/all/bilibili/build.gradle b/src/all/bilibili/build.gradle
deleted file mode 100644
index 676128839..000000000
--- a/src/all/bilibili/build.gradle
+++ /dev/null
@@ -1,16 +0,0 @@
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlinx-serialization'
-
-ext {
- extName = 'BILIBILI'
- pkgNameSuffix = 'all.bilibili'
- extClass = '.BilibiliFactory'
- extVersionCode = 7
-}
-
-dependencies {
- implementation project(':lib-ratelimit')
-}
-
-apply from: "$rootDir/common.gradle"
diff --git a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliFactory.kt b/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliFactory.kt
deleted file mode 100644
index ca059bb2b..000000000
--- a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliFactory.kt
+++ /dev/null
@@ -1,134 +0,0 @@
-package eu.kanade.tachiyomi.extension.all.bilibili
-
-import eu.kanade.tachiyomi.source.Source
-import eu.kanade.tachiyomi.source.SourceFactory
-
-class BilibiliFactory : SourceFactory {
- override fun createSources(): List = listOf(
- BilibiliComicsEn(),
- BilibiliComicsCn(),
- BilibiliComicsId(),
- BilibiliManga()
- )
-}
-
-class BilibiliComicsEn : BilibiliComics("en") {
-
- override fun getAllGenres(): Array = arrayOf(
- BilibiliTag("All", -1),
- BilibiliTag("Action", 19),
- BilibiliTag("Adventure", 22),
- BilibiliTag("BL", 3),
- BilibiliTag("Comedy", 14),
- BilibiliTag("Eastern", 30),
- BilibiliTag("Fantasy", 11),
- BilibiliTag("GL", 16),
- BilibiliTag("Harem", 15),
- BilibiliTag("Historical", 12),
- BilibiliTag("Horror", 23),
- BilibiliTag("Mistery", 17),
- BilibiliTag("Romance", 13),
- BilibiliTag("Slice of Life", 21),
- BilibiliTag("Suspense", 41),
- BilibiliTag("Teen", 20)
- )
-}
-
-class BilibiliComicsCn : BilibiliComics("zh-Hans") {
-
- override fun getAllSortOptions(): Array = arrayOf("为你推荐", "人气推荐", "更新时间")
-
- override fun getAllStatus(): Array = arrayOf("全部", "连载中", "已完结")
-
- override fun getAllPrices(): Array = arrayOf("全部", "免费", "付费")
-
- override fun getAllGenres(): Array = arrayOf(
- BilibiliTag("全部", -1),
- BilibiliTag("校园", 18),
- BilibiliTag("都市", 9),
- BilibiliTag("耽美", 3),
- BilibiliTag("少女", 20),
- BilibiliTag("恋爱", 13),
- BilibiliTag("奇幻", 11),
- BilibiliTag("热血", 19),
- BilibiliTag("冒险", 22),
- BilibiliTag("古风", 12),
- BilibiliTag("百合", 16),
- BilibiliTag("玄幻", 30),
- BilibiliTag("悬疑", 41),
- BilibiliTag("科幻", 8)
- )
-}
-
-class BilibiliComicsId : BilibiliComics("id") {
-
- override fun getAllSortOptions(): Array = arrayOf("Kamu Mungkin Suka", "Populer", "Terbaru")
-
- override fun getAllStatus(): Array = arrayOf("Semua", "Berlangsung", "Tamat")
-
- override fun getAllPrices(): Array = arrayOf("Semua", "Bebas", "Dibayar")
-
- override fun getAllGenres(): Array = arrayOf(
- BilibiliTag("Semua", -1),
- BilibiliTag("Aksi", 19),
- BilibiliTag("Fantasi Timur", 30),
- BilibiliTag("Fantasi", 11),
- BilibiliTag("Historis", 12),
- BilibiliTag("Horror", 23),
- BilibiliTag("Kampus", 18),
- BilibiliTag("Komedi", 14),
- BilibiliTag("Menegangkan", 41),
- BilibiliTag("Remaja", 20),
- BilibiliTag("Romantis", 13)
- )
-}
-
-class BilibiliManga : Bilibili(
- "哔哩哔哩漫画",
- "https://manga.bilibili.com",
- "zh-Hans"
-) {
-
- override val id: Long = 3561131545129718586
-
- override val defaultPopularSort: Int = 0
-
- override val defaultLatestSort: Int = 1
-
- override fun getAllStatus(): Array = arrayOf("全部", "连载", "完结")
-
- override fun getAllSortOptions(): Array = arrayOf("人气推荐", "更新时间", "追漫人数", "上架时间")
-
- override fun getAllPrices(): Array = arrayOf("全部", "免费", "付费", "等就免费")
-
- override fun getAllGenres(): Array = arrayOf(
- BilibiliTag("全部", -1),
- BilibiliTag("竞技", 1034),
- BilibiliTag("冒险", 1013),
- BilibiliTag("热血", 999),
- BilibiliTag("搞笑", 994),
- BilibiliTag("恋爱", 995),
- BilibiliTag("少女", 1026),
- BilibiliTag("日常", 1020),
- BilibiliTag("校园", 1001),
- BilibiliTag("治愈", 1007),
- BilibiliTag("古风", 997),
- BilibiliTag("玄幻", 1016),
- BilibiliTag("奇幻", 998),
- BilibiliTag("惊奇", 996),
- BilibiliTag("悬疑", 1023),
- BilibiliTag("都市", 1002),
- BilibiliTag("剧情", 1030),
- BilibiliTag("总裁", 1004),
- BilibiliTag("科幻", 1015),
- BilibiliTag("正能量", 1028),
- )
-
- override fun getAllAreas(): Array = arrayOf(
- BilibiliTag("全部", -1),
- BilibiliTag("大陆", 1),
- BilibiliTag("日本", 2),
- BilibiliTag("韩国", 6),
- BilibiliTag("其他", 5),
- )
-}