diff --git a/app/src/main/java/io/legado/app/help/AppWebDav.kt b/app/src/main/java/io/legado/app/help/AppWebDav.kt index 2ef0bce5e..58a5e0464 100644 --- a/app/src/main/java/io/legado/app/help/AppWebDav.kt +++ b/app/src/main/java/io/legado/app/help/AppWebDav.kt @@ -139,7 +139,6 @@ object AppWebDav { authorization?.let { val webDav = WebDav(rootWebDavUrl + name, it) webDav.downloadTo(zipFilePath, true) - @Suppress("BlockingMethodInNonBlockingContext") ZipUtils.unzipFile(zipFilePath, Backup.backupPath) Restore.restoreDatabase() Restore.restoreConfig() diff --git a/app/src/main/java/io/legado/app/help/BookHelp.kt b/app/src/main/java/io/legado/app/help/BookHelp.kt index aa31d30c7..48b837753 100644 --- a/app/src/main/java/io/legado/app/help/BookHelp.kt +++ b/app/src/main/java/io/legado/app/help/BookHelp.kt @@ -138,12 +138,12 @@ object BookHelp { try { var bytes = analyzeUrl.getByteArrayAwait() //某些图片被加密,需要进一步解密 - bookSource?.getContentRule()?.imageDecode?.let { - if (it.isBlank()) { + bookSource?.getContentRule()?.imageDecode?.let { imageDecode -> + if (imageDecode.isBlank()) { return@let } kotlin.runCatching { - bookSource.evalJS(it) { + bookSource.evalJS(imageDecode) { put("book", book) put("result", bytes) put("src", src) @@ -155,11 +155,11 @@ object BookHelp { } } FileUtils.createFileIfNotExist( - downloadDir, - cacheFolderName, - book.getFolderName(), - cacheImageFolderName, - "${MD5Utils.md5Encode16(src)}.${getImageSuffix(src)}" + downloadDir, + cacheFolderName, + book.getFolderName(), + cacheImageFolderName, + "${MD5Utils.md5Encode16(src)}.${getImageSuffix(src)}" ).writeBytes(bytes) } catch (e: Exception) { AppLog.putDebug("${src}下载错误", e) @@ -323,7 +323,7 @@ object BookHelp { newChapterList: List, oldChapterListSize: Int = 0 ): Int { - if (oldDurChapterIndex == 0) return oldDurChapterIndex + if (oldDurChapterIndex == 0) return 0 if (newChapterList.isEmpty()) return oldDurChapterIndex val oldChapterNum = getChapterNum(oldDurChapterName) val oldName = getPureChapterName(oldDurChapterName) @@ -370,6 +370,7 @@ object BookHelp { Pattern.compile(".*?第([\\d零〇一二两三四五六七八九十百千万壹贰叁肆伍陆柒捌玖拾佰仟]+)[章节篇回集话]") } + @Suppress("RegExpSimplifiable") private val chapterNamePattern2 by lazy { Pattern.compile("^(?:[\\d零〇一二两三四五六七八九十百千万壹贰叁肆伍陆柒捌玖拾佰仟]+[,:、])*([\\d零〇一二两三四五六七八九十百千万壹贰叁肆伍陆柒捌玖拾佰仟]+)(?:[,:、]|\\.[^\\d])") } @@ -397,7 +398,7 @@ object BookHelp { return@lazy "[^\\w\\u4E00-\\u9FEF〇\\u3400-\\u4DBF\\u20000-\\u2A6DF\\u2A700-\\u2EBEF]".toRegex() } - @Suppress("RegExpUnnecessaryNonCapturingGroup") + @Suppress("RegExpUnnecessaryNonCapturingGroup", "RegExpSimplifiable") private val regexB by lazy { //章节序号,排除处于结尾的状况,避免将章节名替换为空字串 return@lazy "^.*?第(?:[\\d零〇一二两三四五六七八九十百千万壹贰叁肆伍陆柒捌玖拾佰仟]+)[章节篇回集话](?!$)|^(?:[\\d零〇一二两三四五六七八九十百千万壹贰叁肆伍陆柒捌玖拾佰仟]+[,:、])*(?:[\\d零〇一二两三四五六七八九十百千万壹贰叁肆伍陆柒捌玖拾佰仟]+)(?:[,:、](?!$)|\\.(?=[^\\d]))".toRegex()