diff --git a/app/src/main/java/io/legado/app/constant/PreferKey.kt b/app/src/main/java/io/legado/app/constant/PreferKey.kt index c00fb89c9..bcf5fb8fa 100644 --- a/app/src/main/java/io/legado/app/constant/PreferKey.kt +++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt @@ -93,7 +93,7 @@ object PreferKey { const val cronet = "Cronet" const val antiAlias = "antiAlias" const val bitmapCacheSize = "bitmapCacheSize" - const val bitmapRetainNum = "bitmapRetainNum" + const val imageRetainNum = "imageRetainNum" const val preDownloadNum = "preDownloadNum" const val autoRefresh = "auto_refresh" const val defaultToRead = "defaultToRead" diff --git a/app/src/main/java/io/legado/app/help/book/BookHelp.kt b/app/src/main/java/io/legado/app/help/book/BookHelp.kt index 641495ed4..2aac3e1f3 100644 --- a/app/src/main/java/io/legado/app/help/book/BookHelp.kt +++ b/app/src/main/java/io/legado/app/help/book/BookHelp.kt @@ -5,7 +5,6 @@ import android.os.ParcelFileDescriptor import androidx.documentfile.provider.DocumentFile import io.legado.app.constant.AppLog import io.legado.app.constant.AppPattern -import io.legado.app.constant.BookType import io.legado.app.constant.EventBus import io.legado.app.data.appDb import io.legado.app.data.entities.Book @@ -124,42 +123,35 @@ object BookHelp { //清除已经看过的漫画数据 private fun clearComicCache(book: Book) { //只处理漫画 - if (book.type == BookType.image) { - //为0的时候,不清除已缓存数据 - if (AppConfig.bitmapRetainNum == 0) { - return - } - //向前保留设定数量,向后保留预下载数量 - val startIndex = book.durChapterIndex - AppConfig.bitmapRetainNum - val endIndex = book.durChapterIndex + AppConfig.preDownloadNum - val chapterList = appDb.bookChapterDao.getChapterList( - book.bookUrl, - startIndex, - endIndex - ) - val imgNames = hashSetOf() - //获取需要保留章节的图片信息 - chapterList.forEach { - val content = getContent(book, it) - if (content != null) { - val matcher = AppPattern.imgPattern.matcher(content) - while (matcher.find()) { - val src = matcher.group(1) ?: continue - val mSrc = NetworkUtils.getAbsoluteURL(it.url, src) - imgNames.add("${MD5Utils.md5Encode16(mSrc)}.${getImageSuffix(mSrc)}") - } + //为0的时候,不清除已缓存数据 + if (!book.isImage || AppConfig.imageRetainNum == 0) { + return + } + //向前保留设定数量,向后保留预下载数量 + val startIndex = book.durChapterIndex - AppConfig.imageRetainNum + val endIndex = book.durChapterIndex + AppConfig.preDownloadNum + val chapterList = appDb.bookChapterDao.getChapterList(book.bookUrl, startIndex, endIndex) + val imgNames = hashSetOf() + //获取需要保留章节的图片信息 + chapterList.forEach { + val content = getContent(book, it) + if (content != null) { + val matcher = AppPattern.imgPattern.matcher(content) + while (matcher.find()) { + val src = matcher.group(1) ?: continue + val mSrc = NetworkUtils.getAbsoluteURL(it.url, src) + imgNames.add("${MD5Utils.md5Encode16(mSrc)}.${getImageSuffix(mSrc)}") } } - downloadDir.getFile( - cacheFolderName, - book.getFolderName(), - cacheImageFolderName - ).listFiles()?.forEach { imgFile -> - if (!imgNames.contains(imgFile.name)){ - imgFile.delete() - } + } + downloadDir.getFile( + cacheFolderName, + book.getFolderName(), + cacheImageFolderName + ).listFiles()?.forEach { imgFile -> + if (!imgNames.contains(imgFile.name)){ + imgFile.delete() } - } } diff --git a/app/src/main/java/io/legado/app/help/config/AppConfig.kt b/app/src/main/java/io/legado/app/help/config/AppConfig.kt index 27dc06546..2afadab09 100644 --- a/app/src/main/java/io/legado/app/help/config/AppConfig.kt +++ b/app/src/main/java/io/legado/app/help/config/AppConfig.kt @@ -554,10 +554,10 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { appCtx.putPrefInt(PreferKey.bitmapCacheSize, value) } - var bitmapRetainNum: Int - get() = appCtx.getPrefInt(PreferKey.bitmapRetainNum, 0) + var imageRetainNum: Int + get() = appCtx.getPrefInt(PreferKey.imageRetainNum, 0) set(value) { - appCtx.putPrefInt(PreferKey.bitmapRetainNum, value) + appCtx.putPrefInt(PreferKey.imageRetainNum, value) } var showReadTitleBarAddition: Boolean diff --git a/app/src/main/java/io/legado/app/ui/config/OtherConfigFragment.kt b/app/src/main/java/io/legado/app/ui/config/OtherConfigFragment.kt index 928ad5bde..5482cd38a 100644 --- a/app/src/main/java/io/legado/app/ui/config/OtherConfigFragment.kt +++ b/app/src/main/java/io/legado/app/ui/config/OtherConfigFragment.kt @@ -68,7 +68,7 @@ class OtherConfigFragment : PreferenceFragment(), } upPreferenceSummary(PreferKey.checkSource, CheckSource.summary) upPreferenceSummary(PreferKey.bitmapCacheSize, AppConfig.bitmapCacheSize.toString()) - upPreferenceSummary(PreferKey.bitmapRetainNum, AppConfig.bitmapRetainNum.toString()) + upPreferenceSummary(PreferKey.imageRetainNum, AppConfig.imageRetainNum.toString()) upPreferenceSummary(PreferKey.sourceEditMaxLine, AppConfig.sourceEditMaxLine.toString()) } @@ -133,13 +133,13 @@ class OtherConfigFragment : PreferenceFragment(), ImageProvider.bitmapLruCache.resize(ImageProvider.cacheSize) } } - PreferKey.bitmapRetainNum -> NumberPickerDialog(requireContext()) - .setTitle(getString(R.string.bitmap_retain_number)) + PreferKey.imageRetainNum -> NumberPickerDialog(requireContext()) + .setTitle(getString(R.string.image_retain_number)) .setMaxValue(999) .setMinValue(0) - .setValue(AppConfig.bitmapRetainNum) + .setValue(AppConfig.imageRetainNum) .show { - AppConfig.bitmapRetainNum = it + AppConfig.imageRetainNum = it } PreferKey.sourceEditMaxLine -> { @@ -212,8 +212,8 @@ class OtherConfigFragment : PreferenceFragment(), upPreferenceSummary(key, AppConfig.bitmapCacheSize.toString()) } - PreferKey.bitmapRetainNum -> { - upPreferenceSummary(key, AppConfig.bitmapRetainNum.toString()) + PreferKey.imageRetainNum -> { + upPreferenceSummary(key, AppConfig.imageRetainNum.toString()) } PreferKey.sourceEditMaxLine -> { @@ -232,8 +232,8 @@ class OtherConfigFragment : PreferenceFragment(), PreferKey.webPort -> preference.summary = getString(R.string.web_port_summary, value) PreferKey.bitmapCacheSize -> preference.summary = getString(R.string.bitmap_cache_size_summary, value) - PreferKey.bitmapRetainNum -> preference.summary = - getString(R.string.bitmap_retain_number_summary, value) + PreferKey.imageRetainNum -> preference.summary = + getString(R.string.image_retain_number_summary, value) PreferKey.sourceEditMaxLine -> preference.summary = getString(R.string.source_edit_max_line_summary, value) diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index f5154db58..32521b852 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1003,8 +1003,8 @@ RemoteBook Current cache max size %1$s MB bitmap cache size - Keep the number of chapters read %s - Number of manga reservations + Keep the number of chapters read %s + Number of manga reservations Export Picture Files Fail to decode bitmap diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 263df3ec1..98b588910 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -1006,8 +1006,8 @@ RemoteBook Current cache max size %1$s MB bitmap cache size - 保留已读章节数量 %s - 漫画保留数量 + 保留已读章节数量 %s + 漫画保留数量 Export Picture Files Fail to decode bitmap diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 64d26b623..d370da86c 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1006,8 +1006,8 @@ RemoteBook Current cache max size %1$s MB bitmap cache size - Keep the number of chapters read %s - Number of manga reservations + Keep the number of chapters read %s + Number of manga reservations Export Picture Files Fail to decode bitmap diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index d4d8b0565..8aade9fa6 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -1003,8 +1003,8 @@ Còn Sách từ xa Kích thước tối đa của bộ đệm hiện tại %1$s MB kích thước bộ đệm bitmap - Giữ số chương đã đọc %s - Số lượng đặt chỗ manga + Giữ số chương đã đọc %s + Số lượng đặt chỗ manga Xuất tập tin ảnh Không thể giải mã bitmap diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 4c6b46221..2d95a84d8 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -1003,8 +1003,8 @@ 远程书籍 当前最大缓存 %1$s MB 图片绘制缓存 - 保留已讀章節數量 %s - 漫畫保留數量 + 保留已讀章節數量 %s + 漫畫保留數量 TXT导出图片 图片解码失败 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index f59974897..15a21e71c 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1005,8 +1005,8 @@ 远程書籍 目前最大快取 %1$s MB 圖片繪製快取 - 保留已讀章節數量 %s - 漫畫保留數量 + 保留已讀章節數量 %s + 漫畫保留數量 TXT匯出圖片 圖片解碼失敗 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 8734ae036..97f4191d4 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1006,8 +1006,8 @@ 远程书籍 当前最大缓存 %1$s MB 图片绘制缓存 - 保留已读章节数量 %s - 漫画保留数量 + 保留已读章节数量 %s + 漫画保留数量 TXT 导出图片 图片解码失败 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1d12cbe97..a67ff259a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1009,8 +1009,8 @@ RemoteBook Current cache max size %1$s MB bitmap cache size - Keep the number of chapters read %s - Number of manga reservations + Keep the number of chapters read %s + Number of manga reservations Export Picture Files Fail to decode bitmap diff --git a/app/src/main/res/xml/pref_config_other.xml b/app/src/main/res/xml/pref_config_other.xml index cdd86bbff..75028222b 100644 --- a/app/src/main/res/xml/pref_config_other.xml +++ b/app/src/main/res/xml/pref_config_other.xml @@ -110,9 +110,9 @@ android:title="@string/bitmap_cache_size" /> + android:key="imageRetainNum" + android:summary="@string/image_retain_number_summary" + android:title="@string/image_retain_number" />