Horis 1 год назад
Родитель
Сommit
7bad3e3967

+ 1 - 1
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"

+ 26 - 34
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<String>()
-            //获取需要保留章节的图片信息
-            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<String>()
+        //获取需要保留章节的图片信息
+        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()
             }
-
         }
     }
 

+ 3 - 3
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

+ 9 - 9
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)

+ 2 - 2
app/src/main/res/values-es-rES/strings.xml

@@ -1003,8 +1003,8 @@
     <string name="add_remote_book">RemoteBook</string>
     <string name="bitmap_cache_size_summary">Current cache max size %1$s MB</string>
     <string name="bitmap_cache_size">bitmap cache size</string>
-    <string name="bitmap_retain_number_summary">Keep the number of chapters read %s</string>
-    <string name="bitmap_retain_number">Number of manga reservations</string>
+    <string name="image_retain_number_summary">Keep the number of chapters read %s</string>
+    <string name="image_retain_number">Number of manga reservations</string>
     <string name="export_pics_file">Export Picture Files</string>
     <!-- string end -->
     <string name="error_decode_bitmap">Fail to decode bitmap</string>

+ 2 - 2
app/src/main/res/values-ja-rJP/strings.xml

@@ -1006,8 +1006,8 @@
     <string name="add_remote_book">RemoteBook</string>
     <string name="bitmap_cache_size_summary">Current cache max size %1$s MB</string>
     <string name="bitmap_cache_size">bitmap cache size</string>
-    <string name="bitmap_retain_number_summary">保留已读章节数量 %s</string>
-    <string name="bitmap_retain_number">漫画保留数量</string>
+    <string name="image_retain_number_summary">保留已读章节数量 %s</string>
+    <string name="image_retain_number">漫画保留数量</string>
     <string name="export_pics_file">Export Picture Files</string>
     <!-- string end -->
     <string name="error_decode_bitmap">Fail to decode bitmap</string>

+ 2 - 2
app/src/main/res/values-pt-rBR/strings.xml

@@ -1006,8 +1006,8 @@
     <string name="add_remote_book">RemoteBook</string>
     <string name="bitmap_cache_size_summary">Current cache max size %1$s MB</string>
     <string name="bitmap_cache_size">bitmap cache size</string>
-    <string name="bitmap_retain_number_summary">Keep the number of chapters read %s</string>
-    <string name="bitmap_retain_number">Number of manga reservations</string>
+    <string name="image_retain_number_summary">Keep the number of chapters read %s</string>
+    <string name="image_retain_number">Number of manga reservations</string>
     <string name="export_pics_file">Export Picture Files</string>
     <!-- string end -->
     <string name="error_decode_bitmap">Fail to decode bitmap</string>

+ 2 - 2
app/src/main/res/values-vi/strings.xml

@@ -1003,8 +1003,8 @@ Còn </string>
     <string name="add_remote_book">Sách từ xa</string>
     <string name="bitmap_cache_size_summary">Kích thước tối đa của bộ đệm hiện tại %1$s MB</string>
     <string name="bitmap_cache_size">kích thước bộ đệm bitmap</string>
-    <string name="bitmap_retain_number_summary">Giữ số chương đã đọc %s</string>
-    <string name="bitmap_retain_number">Số lượng đặt chỗ manga</string>
+    <string name="image_retain_number_summary">Giữ số chương đã đọc %s</string>
+    <string name="image_retain_number">Số lượng đặt chỗ manga</string>
     <string name="export_pics_file">Xuất tập tin ảnh</string>
     <!-- string end -->
     <string name="error_decode_bitmap">Không thể giải mã bitmap</string>

+ 2 - 2
app/src/main/res/values-zh-rHK/strings.xml

@@ -1003,8 +1003,8 @@
     <string name="add_remote_book">远程书籍</string>
     <string name="bitmap_cache_size_summary">当前最大缓存 %1$s MB</string>
     <string name="bitmap_cache_size">图片绘制缓存</string>
-    <string name="bitmap_retain_number_summary">保留已讀章節數量 %s</string>
-    <string name="bitmap_retain_number">漫畫保留數量</string>
+    <string name="image_retain_number_summary">保留已讀章節數量 %s</string>
+    <string name="image_retain_number">漫畫保留數量</string>
     <string name="export_pics_file">TXT导出图片</string>
     <!-- string end -->
     <string name="error_decode_bitmap">图片解码失败</string>

+ 2 - 2
app/src/main/res/values-zh-rTW/strings.xml

@@ -1005,8 +1005,8 @@
     <string name="add_remote_book">远程書籍</string>
     <string name="bitmap_cache_size_summary">目前最大快取 %1$s MB</string>
     <string name="bitmap_cache_size">圖片繪製快取</string>
-    <string name="bitmap_retain_number_summary">保留已讀章節數量 %s</string>
-    <string name="bitmap_retain_number">漫畫保留數量</string>
+    <string name="image_retain_number_summary">保留已讀章節數量 %s</string>
+    <string name="image_retain_number">漫畫保留數量</string>
     <string name="export_pics_file">TXT匯出圖片</string>
     <!-- string end -->
     <string name="error_decode_bitmap">圖片解碼失敗</string>

+ 2 - 2
app/src/main/res/values-zh/strings.xml

@@ -1006,8 +1006,8 @@
     <string name="add_remote_book">远程书籍</string>
     <string name="bitmap_cache_size_summary">当前最大缓存 %1$s MB</string>
     <string name="bitmap_cache_size">图片绘制缓存</string>
-    <string name="bitmap_retain_number_summary">保留已读章节数量 %s</string>
-    <string name="bitmap_retain_number">漫画保留数量</string>
+    <string name="image_retain_number_summary">保留已读章节数量 %s</string>
+    <string name="image_retain_number">漫画保留数量</string>
     <string name="export_pics_file">TXT 导出图片</string>
     <!-- string end -->
     <string name="error_decode_bitmap">图片解码失败</string>

+ 2 - 2
app/src/main/res/values/strings.xml

@@ -1009,8 +1009,8 @@
     <string name="add_remote_book">RemoteBook</string>
     <string name="bitmap_cache_size_summary">Current cache max size %1$s MB</string>
     <string name="bitmap_cache_size">bitmap cache size</string>
-    <string name="bitmap_retain_number_summary">Keep the number of chapters read %s</string>
-    <string name="bitmap_retain_number">Number of manga reservations</string>
+    <string name="image_retain_number_summary">Keep the number of chapters read %s</string>
+    <string name="image_retain_number">Number of manga reservations</string>
     <string name="export_pics_file">Export Picture Files</string>
     <!-- string end -->
     <string name="error_decode_bitmap">Fail to decode bitmap</string>

+ 3 - 3
app/src/main/res/xml/pref_config_other.xml

@@ -110,9 +110,9 @@
             android:title="@string/bitmap_cache_size" />
 
         <io.legado.app.lib.prefs.Preference
-            android:key="bitmapRetainNum"
-            android:summary="@string/bitmap_retain_number_summary"
-            android:title="@string/bitmap_retain_number" />
+            android:key="imageRetainNum"
+            android:summary="@string/image_retain_number_summary"
+            android:title="@string/image_retain_number" />
 
         <io.legado.app.lib.prefs.Preference
             android:key="preDownloadNum"