diff --git a/src/all/bilibili/build.gradle b/src/all/bilibili/build.gradle index 41589e14c..676128839 100644 --- a/src/all/bilibili/build.gradle +++ b/src/all/bilibili/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'BILIBILI' pkgNameSuffix = 'all.bilibili' extClass = '.BilibiliFactory' - extVersionCode = 6 + extVersionCode = 7 } dependencies { diff --git a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/Bilibili.kt b/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/Bilibili.kt index 33bf8e7bb..e8170c057 100644 --- a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/Bilibili.kt +++ b/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/Bilibili.kt @@ -98,10 +98,16 @@ abstract class Bilibili( protected open val defaultLatestSort: Int = 2 protected open val hasPaidChaptersWarning: String = when (lang) { - "zh", "zh-Hans" -> "此漫画的付费章节已从章节列表中过滤,暂时请用网页端或官方app阅读。" + "zh", "zh-Hans" -> "$EMOJI_WARNING 此漫画的付费章节已从章节列表中过滤,暂时请用网页端或官方app阅读。" else -> - "This series has paid chapters that were filtered out from the chapter list. " + - "Use the BILIBILI website or the official app to read them for now." + "$EMOJI_WARNING WARNING: This series has paid chapters that were filtered out from " + + "the chapter list. If you have already bought and have any in your account, sign " + + "in through WebView and refresh the chapter list to read them." + } + + protected open val paidLabel: String = when (lang) { + "zh", "zh-Hans" -> "付费" + else -> "Paid" } protected open val imageQualityPrefTitle: String = when (lang) { @@ -347,13 +353,13 @@ abstract class Bilibili( title = comic.title author = comic.authorName.joinToString() status = if (comic.isFinish == 1) SManga.COMPLETED else SManga.ONGOING - genre = comic.styles.joinToString() + genre = comic.genres(paidLabel, EMOJI_LOCKED).joinToString() description = comic.classicLines thumbnail_url = comic.verticalCover + THUMBNAIL_RESOLUTION url = "/detail/mc" + comic.id if (comic.hasPaidChapters && !signedIn) { - description += "\n\n$hasPaidChaptersWarning" + description = "$hasPaidChaptersWarning\n\n$description" } } @@ -586,5 +592,8 @@ abstract class Bilibili( private val DATE_FORMATTER by lazy { SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) } + + private const val EMOJI_LOCKED = "\uD83D\uDD12" + private const val EMOJI_WARNING = "\u26A0\uFE0F" } } diff --git a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliDto.kt b/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliDto.kt index 8794fb5e9..5d34527c5 100644 --- a/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliDto.kt +++ b/src/all/bilibili/src/eu/kanade/tachiyomi/extension/all/bilibili/BilibiliDto.kt @@ -30,6 +30,9 @@ data class BilibiliComicDto( ) { val hasPaidChapters: Boolean get() = episodeList.any { episode -> episode.payMode == 1 && episode.payGold > 0 } + + fun genres(paidLabel: String, emoji: String): List<String> = + (if (hasPaidChapters) listOf("$emoji $paidLabel") else emptyList()) + styles } @Serializable