From caa36f1f23a8e933cd80dedaaff1e2d6841b0a7f Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Sun, 29 May 2022 08:54:45 +0800 Subject: [PATCH 01/11] ci(cronet): check file exit before download --- .github/scripts/cronet.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/scripts/cronet.sh b/.github/scripts/cronet.sh index 19d5a3524..18de9c482 100644 --- a/.github/scripts/cronet.sh +++ b/.github/scripts/cronet.sh @@ -1,10 +1,21 @@ -#bin/sh +#!/usr/bin/env bash + echo "fetch release info from https://chromiumdash.appspot.com ..." branch="Stable" lastest_cronet_version=`curl -s "https://chromiumdash.appspot.com/fetch_releases?channel=$branch&platform=Android&num=1&offset=0" | jq .[0].version -r` echo "lastest_cronet_version: $lastest_cronet_version" +#lastest_cronet_version=100.0.4845.0 + +function checkVersionExit() { + local jar_url="https://storage.googleapis.com/chromium-cronet/android/$lastest_cronet_version/Release/cronet/cronet_api.jar" + statusCode=$(curl -s -I -w %{http_code} "$jar_url" -o /dev/null) + if [ $statusCode == "404" ];then + echo "storage.googleapis.com return 404 for cronet $lastest_cronet_version" + exit + fi +} path=$GITHUB_WORKSPACE/gradle.properties current_cronet_version=`cat $path | grep CronetVersion | sed s/CronetVersion=//` @@ -13,9 +24,11 @@ echo "current_cronet_version: $current_cronet_version" if [[ $current_cronet_version == $lastest_cronet_version ]];then echo "cronet is already latest" else + checkVersionExit sed -i s/CronetVersion=.*/CronetVersion=$lastest_cronet_version/ $path sed "15a* 更新cronet: $lastest_cronet_version" -i $GITHUB_WORKSPACE/app/src/main/assets/updateLog.md echo "start download latest cronet" chmod +x gradlew ./gradlew app:downloadCronet fi + From 83bc051f79eba2d6c35636c9acfdd94690d39bfc Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Sun, 29 May 2022 14:44:11 +0800 Subject: [PATCH 02/11] feat(ImageProvider): add bitmapLrucache size setting --- .../main/java/io/legado/app/constant/PreferKey.kt | 3 ++- .../java/io/legado/app/help/config/AppConfig.kt | 6 ++++++ .../ui/book/read/page/provider/ImageProvider.kt | 4 ++-- .../legado/app/ui/config/OtherConfigFragment.kt | 15 +++++++++++++++ app/src/main/res/values-es-rES/strings.xml | 2 ++ app/src/main/res/values-ja-rJP/strings.xml | 2 ++ app/src/main/res/values-pt-rBR/strings.xml | 2 ++ app/src/main/res/values-zh-rHK/strings.xml | 3 +++ app/src/main/res/values-zh-rTW/strings.xml | 3 +++ app/src/main/res/values-zh/strings.xml | 3 +++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/pref_config_other.xml | 6 ++++++ 12 files changed, 48 insertions(+), 3 deletions(-) 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 588ca8581..ccb32a3af 100644 --- a/app/src/main/java/io/legado/app/constant/PreferKey.kt +++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt @@ -82,6 +82,7 @@ object PreferKey { const val syncBookProgress = "syncBookProgress" const val cronet = "Cronet" const val antiAlias = "antiAlias" + const val bitmapCacheSize = "bitmapCacheSize" const val preDownloadNum = "preDownloadNum" const val autoRefresh = "auto_refresh" const val defaultToRead = "defaultToRead" @@ -107,7 +108,6 @@ object PreferKey { const val welcomeShowIcon = "welcomeShowIcon" const val welcomeShowIconDark = "welcomeShowIconDark" - const val cPrimary = "colorPrimary" const val cAccent = "colorAccent" const val cBackground = "colorBackground" @@ -121,4 +121,5 @@ object PreferKey { const val cNBBackground = "colorBottomBackgroundNight" const val bgImageN = "backgroundImageNight" const val bgImageNBlurring = "backgroundImageNightBlurring" + } 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 f36decf1d..05e2c80b6 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 @@ -323,5 +323,11 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { } return ua } + + var bitmapCacheSize: Int + get() = appCtx.getPrefInt(PreferKey.bitmapCacheSize, 50) + set(value) { + appCtx.putPrefInt(PreferKey.bitmapCacheSize, value) + } } diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt index 7ecfe83f5..df88392a1 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt @@ -11,6 +11,7 @@ import io.legado.app.data.entities.BookSource import io.legado.app.exception.NoStackTraceException import io.legado.app.help.BookHelp import io.legado.app.help.coroutine.Coroutine +import io.legado.app.help.config.AppConfig import io.legado.app.model.localBook.EpubFile import io.legado.app.utils.BitmapUtils import io.legado.app.utils.FileUtils @@ -32,8 +33,7 @@ object ImageProvider { *缓存bitmap LruCache实现 */ private const val M = 1024 * 1024 - private val cacheSize = - max(50 * M, min(100 * M, (Runtime.getRuntime().maxMemory() / 8).toInt())) + private val cacheSize = AppConfig.bitmapCacheSize * M val bitmapLruCache = object : LruCache(cacheSize) { override fun sizeOf(key: String, bitmap: Bitmap): Int { 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 5ffdede56..f65123720 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 @@ -56,6 +56,7 @@ class OtherConfigFragment : PreferenceFragment(), upPreferenceSummary(PreferKey.defaultBookTreeUri, it) } upPreferenceSummary(PreferKey.checkSource, CheckSource.summary) + upPreferenceSummary(PreferKey.bitmapCacheSize, AppConfig.bitmapCacheSize.toString()) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -104,6 +105,14 @@ class OtherConfigFragment : PreferenceFragment(), PreferKey.cleanCache -> clearCache() PreferKey.uploadRule -> showDialogFragment() PreferKey.checkSource -> showDialogFragment() + PreferKey.bitmapCacheSize -> NumberPickerDialog(requireContext()) + .setTitle(getString(R.string.bitmap_cache_size)) + .setMaxValue(9999) + .setMinValue(1) + .setValue(AppConfig.bitmapCacheSize) + .show { + AppConfig.bitmapCacheSize = it + } } return super.onPreferenceTreeClick(preference) } @@ -141,6 +150,11 @@ class OtherConfigFragment : PreferenceFragment(), PreferKey.checkSource -> listView.post { upPreferenceSummary(PreferKey.checkSource, CheckSource.summary) } + PreferKey.bitmapCacheSize -> { + upPreferenceSummary(key, AppConfig.bitmapCacheSize.toString()) + // restart to apply changes + appCtx.restart() + } } } @@ -151,6 +165,7 @@ class OtherConfigFragment : PreferenceFragment(), getString(R.string.pre_download_s, value) PreferKey.threadCount -> preference.summary = getString(R.string.threads_num, value) PreferKey.webPort -> preference.summary = getString(R.string.web_port_summary, value) + PreferKey.bitmapCacheSize -> preference.summary = getString(R.string.bitmap_cache_size_summary, value) else -> if (preference is ListPreference) { val index = preference.findIndexOfValue(value) // Set the summary to reflect the new value. diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 310ecd7f4..4ff5bd117 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -988,5 +988,7 @@ Download Fail Upload WebDavBook + Current cache max size %1$s MB + bitmap cache size diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 68498160f..6e4dcc414 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -991,5 +991,7 @@ Download Fail Upload WebDavBook + Current cache max size %1$s MB + bitmap cache size diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 7551b7740..389fd7309 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -991,5 +991,7 @@ Download Fail Upload WebDavBook + Current cache max size %1$s MB + bitmap cache size diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 6d8cc2c37..80381c88c 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -988,5 +988,8 @@ Download Fail Upload WebDav书籍 + 当前最大缓存 %1$s MB + 图片绘制缓存 + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 3952f76b2..d7026631b 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -990,5 +990,8 @@ Download Fail Upload WebDav书籍 + 当前最大缓存 %1$s MB + 图片绘制缓存 + diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index ca9c6c14b..79233a087 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -990,5 +990,8 @@ Download Fail 上传WebDav WebDav书籍 + 当前最大缓存 %1$s MB + 图片绘制缓存 + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 93c683137..59d97e45a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -991,5 +991,7 @@ Download Fail Upload WebDavBook + Current cache max size %1$s MB + bitmap cache size diff --git a/app/src/main/res/xml/pref_config_other.xml b/app/src/main/res/xml/pref_config_other.xml index 931deb5f9..8da45d5a6 100644 --- a/app/src/main/res/xml/pref_config_other.xml +++ b/app/src/main/res/xml/pref_config_other.xml @@ -75,12 +75,18 @@ android:key="Cronet" android:summary="@string/pref_cronet_summary" android:title="Cronet" /> + + + Date: Sun, 29 May 2022 14:56:41 +0800 Subject: [PATCH 03/11] feat(ImageProvider): add bitmapLrucache size setting --- .../app/ui/config/OtherConfigFragment.kt | 21 ++++++++++--------- app/src/main/res/values-es-rES/strings.xml | 2 ++ app/src/main/res/values-ja-rJP/strings.xml | 2 ++ app/src/main/res/values-pt-rBR/strings.xml | 2 ++ app/src/main/res/values-zh-rHK/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values-zh/strings.xml | 1 + app/src/main/res/values/strings.xml | 2 ++ 8 files changed, 22 insertions(+), 10 deletions(-) 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 f65123720..03ea90822 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 @@ -105,14 +105,17 @@ class OtherConfigFragment : PreferenceFragment(), PreferKey.cleanCache -> clearCache() PreferKey.uploadRule -> showDialogFragment() PreferKey.checkSource -> showDialogFragment() - PreferKey.bitmapCacheSize -> NumberPickerDialog(requireContext()) - .setTitle(getString(R.string.bitmap_cache_size)) - .setMaxValue(9999) - .setMinValue(1) - .setValue(AppConfig.bitmapCacheSize) - .show { - AppConfig.bitmapCacheSize = it - } + PreferKey.bitmapCacheSize -> { + toastOnUi(R.string.restart_to_apply_changes) + NumberPickerDialog(requireContext()) + .setTitle(getString(R.string.bitmap_cache_size)) + .setMaxValue(9999) + .setMinValue(1) + .setValue(AppConfig.bitmapCacheSize) + .show { + AppConfig.bitmapCacheSize = it + } + } } return super.onPreferenceTreeClick(preference) } @@ -152,8 +155,6 @@ class OtherConfigFragment : PreferenceFragment(), } PreferKey.bitmapCacheSize -> { upPreferenceSummary(key, AppConfig.bitmapCacheSize.toString()) - // restart to apply changes - appCtx.restart() } } } diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 4ff5bd117..413b4b2cc 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -990,5 +990,7 @@ WebDavBook Current cache max size %1$s MB bitmap cache size + Restart to apply changes + diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 6e4dcc414..0cb6d98b6 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -993,5 +993,7 @@ WebDavBook Current cache max size %1$s MB bitmap cache size + Restart to apply changes + diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 389fd7309..fa88aca97 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -993,5 +993,7 @@ WebDavBook Current cache max size %1$s MB bitmap cache size + Restart to apply changes + diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 80381c88c..b09e0fa3e 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -990,6 +990,7 @@ WebDav书籍 当前最大缓存 %1$s MB 图片绘制缓存 + 重启应用更改 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index d7026631b..12bb25266 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -992,6 +992,7 @@ WebDav书籍 当前最大缓存 %1$s MB 图片绘制缓存 + 重启应用更改 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 79233a087..2ca7d0784 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -992,6 +992,7 @@ WebDav书籍 当前最大缓存 %1$s MB 图片绘制缓存 + 重启应用更改 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 59d97e45a..a0cbbb3fb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -993,5 +993,7 @@ WebDavBook Current cache max size %1$s MB bitmap cache size + Restart to apply changes + From d04ab661b0a10322db6f6b0dacbf7f02b24a0791 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 May 2022 14:28:02 +0000 Subject: [PATCH 04/11] Bump hutool-crypto from 5.8.1 to 5.8.2 in /app Bumps [hutool-crypto](https://github.com/dromara/hutool) from 5.8.1 to 5.8.2. - [Release notes](https://github.com/dromara/hutool/releases) - [Changelog](https://github.com/dromara/hutool/blob/v5-master/CHANGELOG.md) - [Commits](https://github.com/dromara/hutool/compare/5.8.1...5.8.2) --- updated-dependencies: - dependency-name: cn.hutool:hutool-crypto dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 0a87dd191..f60170c10 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -253,7 +253,7 @@ dependencies { implementation('com.github.liuyueyi.quick-chinese-transfer:quick-transfer-core:0.2.4') //加解密类库,有些书源使用 - implementation('cn.hutool:hutool-crypto:5.8.1') + implementation('cn.hutool:hutool-crypto:5.8.2') //firebase, 崩溃统计和性能统计, 会导致共存版本崩溃 //implementation platform('com.google.firebase:firebase-bom:30.0.1') From a744af576fcf1fec171920bfa2dc7fa056fe0cb2 Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Mon, 30 May 2022 06:32:47 +0800 Subject: [PATCH 05/11] feat(book/cache): add export picture option --- .../java/io/legado/app/constant/PreferKey.kt | 1 + .../io/legado/app/help/config/AppConfig.kt | 5 +++++ .../legado/app/ui/book/cache/CacheActivity.kt | 2 ++ .../app/ui/book/cache/CacheViewModel.kt | 21 ++++++++++++------- app/src/main/res/menu/book_cache.xml | 7 +++++++ app/src/main/res/values-es-rES/strings.xml | 1 + app/src/main/res/values-ja-rJP/strings.xml | 2 ++ app/src/main/res/values-pt-rBR/strings.xml | 3 ++- app/src/main/res/values-zh-rHK/strings.xml | 3 ++- app/src/main/res/values-zh-rTW/strings.xml | 3 ++- app/src/main/res/values-zh/strings.xml | 3 ++- app/src/main/res/values/strings.xml | 2 ++ 12 files changed, 41 insertions(+), 12 deletions(-) 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 ccb32a3af..de3e8c628 100644 --- a/app/src/main/java/io/legado/app/constant/PreferKey.kt +++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt @@ -55,6 +55,7 @@ object PreferKey { const val exportToWebDav = "webDavCacheBackup" const val exportNoChapterName = "exportNoChapterName" const val exportType = "exportType" + const val exportPictureFile = "exportPictureFile" const val changeSourceCheckAuthor = "changeSourceCheckAuthor" const val changeSourceLoadToc = "changeSourceLoadToc" const val changeSourceLoadInfo = "changeSourceLoadInfo" 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 05e2c80b6..8fa01999a 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 @@ -243,6 +243,11 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { set(value) { appCtx.putPrefInt(PreferKey.exportType, value) } + var exportPictureFile: Boolean + get() = appCtx.getPrefBoolean(PreferKey.exportPictureFile, false) + set(value) { + appCtx.putPrefBoolean(PreferKey.exportPictureFile, value) + } var changeSourceCheckAuthor: Boolean get() = appCtx.getPrefBoolean(PreferKey.changeSourceCheckAuthor) diff --git a/app/src/main/java/io/legado/app/ui/book/cache/CacheActivity.kt b/app/src/main/java/io/legado/app/ui/book/cache/CacheActivity.kt index 9d9559b73..0e530989f 100644 --- a/app/src/main/java/io/legado/app/ui/book/cache/CacheActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/cache/CacheActivity.kt @@ -93,6 +93,7 @@ class CacheActivity : VMBaseActivity() menu.findItem(R.id.menu_enable_replace)?.isChecked = AppConfig.exportUseReplace menu.findItem(R.id.menu_export_no_chapter_name)?.isChecked = AppConfig.exportNoChapterName menu.findItem(R.id.menu_export_web_dav)?.isChecked = AppConfig.exportToWebDav + menu.findItem(R.id.menu_export_pics_file)?.isChecked = AppConfig.exportPictureFile menu.findItem(R.id.menu_export_type)?.title = "${getString(R.string.export_type)}(${getTypeName()})" menu.findItem(R.id.menu_export_charset)?.title = @@ -129,6 +130,7 @@ class CacheActivity : VMBaseActivity() R.id.menu_enable_replace -> AppConfig.exportUseReplace = !item.isChecked R.id.menu_export_no_chapter_name -> AppConfig.exportNoChapterName = !item.isChecked R.id.menu_export_web_dav -> AppConfig.exportToWebDav = !item.isChecked + R.id.menu_export_pics_file -> AppConfig.exportPictureFile = !item.isChecked R.id.menu_export_folder -> { selectExportFolder(-1) } diff --git a/app/src/main/java/io/legado/app/ui/book/cache/CacheViewModel.kt b/app/src/main/java/io/legado/app/ui/book/cache/CacheViewModel.kt index 55e963ab8..4655c07c1 100644 --- a/app/src/main/java/io/legado/app/ui/book/cache/CacheViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/cache/CacheViewModel.kt @@ -168,17 +168,22 @@ class CacheViewModel(application: Application) : BaseViewModel(application) { chineseConvert = false, reSegment = false ).joinToString("\n") - val srcList = arrayListOf>() - content?.split("\n")?.forEachIndexed { index, text -> - val matcher = AppPattern.imgPattern.matcher(text) - while (matcher.find()) { - matcher.group(1)?.let { - val src = NetworkUtils.getAbsoluteURL(chapter.url, it) - srcList.add(Triple(chapter.title, index, src)) + if (AppConfig.exportPictureFile) { + //txt导出图片文件 + val srcList = arrayListOf>() + content?.split("\n")?.forEachIndexed { index, text -> + val matcher = AppPattern.imgPattern.matcher(text) + while (matcher.find()) { + matcher.group(1)?.let { + val src = NetworkUtils.getAbsoluteURL(chapter.url, it) + srcList.add(Triple(chapter.title, index, src)) + } } } + append.invoke("\n\n$content1", srcList) + } else { + append.invoke("\n\n$content1", null) } - append.invoke("\n\n$content1", srcList) } } } diff --git a/app/src/main/res/menu/book_cache.xml b/app/src/main/res/menu/book_cache.xml index f76ab76f8..a60ffc19e 100644 --- a/app/src/main/res/menu/book_cache.xml +++ b/app/src/main/res/menu/book_cache.xml @@ -36,12 +36,19 @@ android:title="@string/export_to_web_dav" android:checkable="true" app:showAsAction="never" /> + + + Current cache max size %1$s MB bitmap cache size Restart to apply changes + Export Picture Files diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 0cb6d98b6..f63731729 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -994,6 +994,8 @@ Current cache max size %1$s MB bitmap cache size Restart to apply changes + Export Picture Files + diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index fa88aca97..725b69ba6 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -994,6 +994,7 @@ Current cache max size %1$s MB bitmap cache size Restart to apply changes - + Export Picture Files + diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index b09e0fa3e..b2291d6ee 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -991,6 +991,7 @@ 当前最大缓存 %1$s MB 图片绘制缓存 重启应用更改 - + TXT导出图片 + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 12bb25266..cd4972500 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -993,6 +993,7 @@ 当前最大缓存 %1$s MB 图片绘制缓存 重启应用更改 - + TXT导出图片 + diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 2ca7d0784..3556c4f7f 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -993,6 +993,7 @@ 当前最大缓存 %1$s MB 图片绘制缓存 重启应用更改 - + TXT导出图片 + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a0cbbb3fb..c54556d81 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -994,6 +994,8 @@ Current cache max size %1$s MB bitmap cache size Restart to apply changes + Export Picture Files + From a9bb7f943416f6382ed349c65e3269d9244ac399 Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Mon, 30 May 2022 06:39:38 +0800 Subject: [PATCH 06/11] docs: update log --- app/src/main/assets/updateLog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/assets/updateLog.md b/app/src/main/assets/updateLog.md index 4d6e0ba67..7634cf5f3 100644 --- a/app/src/main/assets/updateLog.md +++ b/app/src/main/assets/updateLog.md @@ -11,6 +11,11 @@ * 正文出现缺字漏字、内容缺失、排版错乱等情况,有可能是净化规则或简繁转换出现问题。 * 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源! +**2022/05/30** + +* 缓存导出添加导出图片文件选项 +* 其他设置添加图片绘制缓存选项 + **2022/05/27** * 书源详情页规则添加刷新时重新获取目录页链接Url的配置,true or false From 38c6f281726a404756643f6eceddd95341a70968 Mon Sep 17 00:00:00 2001 From: kunfei Date: Mon, 30 May 2022 08:15:35 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../legado/app/ui/book/read/page/provider/ImageProvider.kt | 6 ++---- .../java/io/legado/app/ui/config/OtherConfigFragment.kt | 3 ++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt index df88392a1..f485ab7be 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt @@ -10,8 +10,8 @@ import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookSource import io.legado.app.exception.NoStackTraceException import io.legado.app.help.BookHelp -import io.legado.app.help.coroutine.Coroutine import io.legado.app.help.config.AppConfig +import io.legado.app.help.coroutine.Coroutine import io.legado.app.model.localBook.EpubFile import io.legado.app.utils.BitmapUtils import io.legado.app.utils.FileUtils @@ -20,8 +20,6 @@ import kotlinx.coroutines.withContext import splitties.init.appCtx import java.io.File import java.io.FileOutputStream -import kotlin.math.max -import kotlin.math.min object ImageProvider { @@ -33,7 +31,7 @@ object ImageProvider { *缓存bitmap LruCache实现 */ private const val M = 1024 * 1024 - private val cacheSize = AppConfig.bitmapCacheSize * M + val cacheSize get() = AppConfig.bitmapCacheSize * M val bitmapLruCache = object : LruCache(cacheSize) { override fun sizeOf(key: String, bitmap: Bitmap): Int { 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 03ea90822..9f9f9e038 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 @@ -21,6 +21,7 @@ import io.legado.app.lib.theme.primaryColor import io.legado.app.model.CheckSource import io.legado.app.receiver.SharedReceiverActivity import io.legado.app.service.WebService +import io.legado.app.ui.book.read.page.provider.ImageProvider import io.legado.app.ui.document.HandleFileContract import io.legado.app.ui.widget.number.NumberPickerDialog import io.legado.app.utils.* @@ -106,7 +107,6 @@ class OtherConfigFragment : PreferenceFragment(), PreferKey.uploadRule -> showDialogFragment() PreferKey.checkSource -> showDialogFragment() PreferKey.bitmapCacheSize -> { - toastOnUi(R.string.restart_to_apply_changes) NumberPickerDialog(requireContext()) .setTitle(getString(R.string.bitmap_cache_size)) .setMaxValue(9999) @@ -114,6 +114,7 @@ class OtherConfigFragment : PreferenceFragment(), .setValue(AppConfig.bitmapCacheSize) .show { AppConfig.bitmapCacheSize = it + ImageProvider.bitmapLruCache.resize(ImageProvider.cacheSize) } } } From b400d518c998a686bb6d811564bc9e61878258c9 Mon Sep 17 00:00:00 2001 From: kunfei Date: Mon, 30 May 2022 08:16:39 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/help/storage/BackupConfig.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/help/storage/BackupConfig.kt b/app/src/main/java/io/legado/app/help/storage/BackupConfig.kt index 6658f7735..a1c2e864b 100644 --- a/app/src/main/java/io/legado/app/help/storage/BackupConfig.kt +++ b/app/src/main/java/io/legado/app/help/storage/BackupConfig.kt @@ -27,7 +27,8 @@ object BackupConfig { PreferKey.webDavDir, PreferKey.webDavAccount, PreferKey.webDavPassword, - PreferKey.launcherIcon + PreferKey.launcherIcon, + PreferKey.bitmapCacheSize ) //配置忽略标题 From 078e9f51cd60797cf3cdfcd5abf1a8fff861ee18 Mon Sep 17 00:00:00 2001 From: gedoor Date: Mon, 30 May 2022 00:24:16 +0000 Subject: [PATCH 09/11] Bump cronet from 101.0.4951.61 to 102.0.5005.78 - Changes in the [Git log](https://chromium.googlesource.com/chromium/src/+log/101.0.4951.61..102.0.5005.78) --- app/cronetlib/cronet_api.jar | Bin 69333 -> 70127 bytes app/cronetlib/cronet_impl_common_java.jar | Bin 98049 -> 98209 bytes app/cronetlib/cronet_impl_native_java.jar | Bin 1195057 -> 1205864 bytes app/cronetlib/cronet_impl_platform_java.jar | Bin 97860 -> 97860 bytes app/src/main/assets/cronet.json | 2 +- app/src/main/assets/updateLog.md | 1 + gradle.properties | 2 +- 7 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/cronetlib/cronet_api.jar b/app/cronetlib/cronet_api.jar index f5e2b4c1a9e1498384ce3703ccec0a486d64d829..0cf61920b1292be98aa3425f45a12938f0475fe3 100644 GIT binary patch delta 3003 zcmbtWdr(y86+h?hEbpcdeumfCKZ$SN3)Ril1p-6%#p zcX13y3-hdbHmlW^S6WsrffWi6*1I}OTu!IWVefR66*@YLI&CGT1@vR^E zm6o_W?e>l}UU%m}zSHaQbnIEP$L(+prG0ywG3Cakk$XY`l)H+avd7ZqR?D#ys3)T?G`-3IAy8-l z5sDO2tPq<*N)%Emf?WjazZOH0&SKximR8Jgc6nUedhc})j`VuF5gM~LIy^3KZY2wL2ggK3o9 zX2-ke4{avuY0JfGRhnmMD@!RMfRF+!K%fh4so1U~_88SVDg>lRpgk?~ael{ZKCGHaJq zZS_DpzDDZ@8gy5=@L$s71KV}K;nIIgivtebH88**scCRr_Z~;Q&k^}ht@GQ4_7gD4*T&qIy;=Ddc@JkL8)LQfb|BYpQzHWM;eU(Zqj^F&fihF z^VL~O8%v;;`yvvD4E#Y_MfjEhcETUht0T2)wUhZ#%5KL59i@-diih@dRb4Uib*rx&r&T;(A=aQr|H_HJ^45fc3=ht zP{tZ~9vfi`k9*DJN<768ri87qjnVCFQ^&nY9n=iiLDq*Xqp7!~2w6%YKnpty@J;SP z?gQ>gy*g5%yj3`1HIJ1UTp%*fgickrz#dhvhi+(KyqR&fFCV+Obl3BrNdU@iyNaGk&n{_xbZ znYZ^$-5q;I-L;qc?rG#3G9km3T4VMRw4rTsoF8z zJk1DZ8vj=c&A%^dL}eL{zQf%THl4$rQZjAFEb3!wqrXp^=*8(=Y+$JtcdB~*OfK$I zrSHrbGEF2@{ zEIlR(|9!%5>C26kyY*-lcAQWFd0vlOgsGE$YueMIyi!EFApI}^B+4I(7%zWc&X97U%>=}_f&*^0mxv-c}&Y5&B zV2qKshqCv~1wXKGF5=V9XEeOt5gvf%C9Y6VJ0E?1$C_vXIL4b~a94`Od$dQiE{NQw@fyQpA k%akL~=YH_|&1Bgf&Y>^e^aG0@MabvEFDbG3_*_nd+Fyq|>Bh&wa}h$h2?f zp8q-b+ z6uFB^{H30vGEcP(Ztx(i@CLnQUIxXX62B){5()-NTbs+9TfL$3kh`_4*jHLo9tws+ zi#l6cyIjG}z|PQ?MO#_|&0Q`Ls`{C1kH_c#p#;S;c%ejwQm`YKJnmVWAy~Erx&w61 zY7W1n*@S2gFVtRt%%s2lW_nR9fLKdJzN4G-NYceSeFlhyLIX&!NPr>%TmrZS@JQg5 zpp@>uv7G*L*cN_o<5CQNy6LvYo((xNWWfR%G9gul`QVTt1MCu%A^2!ykDVHyNY_hH zj!;M+>kDZ^V+)$ekx+mcbi2`yd32{Kl`5JFu~Mb>GWCd{yy;*A)S?Inz?fsJm^V@} z@2X->0l-oN+2Ew*fgD=~n7BMLAVVFP!K!MrAeY_>B#{!Z&au$XSY$#TTR8uZc0Mem z`+?j!T4}~N1M+D}(79sv-qVpm0|lIk1|9$l;{>L-bP%tN;~Os#cy3GG{N|&N!sml` z5ffCppx+XqOfSR68r3apN>vk}=lesmzy$}ceG|AKBAF6;qg34tH9SMTqf%e?t}>0E zxbvficmT0nqLHboFVEI);7e(c;Bf=2hYbe4>WvaSA;G5b>Av4%!e)fnWr4P~U?8+z zf<}ZN(?EJ64L|de6p$cTe#7NBuX@TZuvhPc^O3=zt)@<$C z)v~jt6QP){P3F?&BS!kT{}?y=QwV#%8-?2Uctym~5hEQPc+$8IRFo+h@I+7zx_wt-*Zl4&)<_>~WF(*?G8=?UJZ}G9%pj>`xJ`WZGYVcJl3C ziAglDe?2B_87R!_q{aBR@MQJW3^p^7`$ww6PH_-~T$b^&jIt z0jS`<(W~tr$0OtWuz;UHHarOu<6LM``8)`!d@Z!VDwfx?ob_{`$f@DiO}C5yVwG~> z_RgnV^ueJD*E$2Y;Zg(l{W1Z*C%{7jEEiyf04oKkm0-05Ys1S9uhj6gIdbIZuMYRb zf43}UP*ton4;bF*UY=AX_pIhd#E5_$9@DvwoQRHVOQ`2(>I{B~o@Oq^eF)=)K zqJEoJ{Dm(%WAG0#hHrmx$~SrpW{7Eell{fw%bEEmurHuoGhpKAW{2{!gee(f&L;Dp zU99pMJAes17g86y|dV&>ZuG-iUcq-+bjkJz6rp+pbaT3H;^IbPkbo z{pXNbd01kPIVX>rGoHZPG}}Wdj6=8P)>vf2j>06WdS0)FP)@~Rnr6uh5l!a!0_AgI z+VP?gq|xP<;+3mfv{2eviyYlx0`Hv>>MW`~YgOJbqD6U)jWum&g*2pz`&lH~zb}}m z@q%6rptKp;!u3i-!(&OgXykozCZmER#Uf+527VP4Br5GPTlD-!8JDpEE0xnS<|=j* zdNp@03z<{t5zM{csSK@sJ5$+g=3LOsJN@KW+^QgMgq!v{9AfA0{KZ{EBqm{8rhJ`IZ z{O62}-1lUq*MbF_N51%0Sof7#nG%*OzKjZWio=R->{HN+HnNyflz!$l=f74at?1K# Jbzj{1e*shvh-m-- diff --git a/app/cronetlib/cronet_impl_common_java.jar b/app/cronetlib/cronet_impl_common_java.jar index b0c481096638c19fe85568c319cc958d43fb2099..f16f602b5db44b705c4531bcc66e0687b5ef9024 100644 GIT binary patch delta 4030 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 delta 3942 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�rm){iM7DWkO|Kzj4VJUINdzl4vpL0s<7f$vj0 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 QV+0GxCENXr7{77@0IUH)kpKVy delta 180 zcmX@|hxN!G)(zT1EI0N1B{u5|F*7qBnQScT%y@iqxu_r4A9O0G#OWe zS;}UbjO)OxG$3mukmba<1xU(I{$!@kxMQ-Ec_8E7$vNh6j7OSJn{PjD&ZuGqcGdLH Rg^Up_AeU_SFJk=44FCl0Kd=A* diff --git a/app/src/main/assets/cronet.json b/app/src/main/assets/cronet.json index 60bcb0a63..32ef72419 100644 --- a/app/src/main/assets/cronet.json +++ b/app/src/main/assets/cronet.json @@ -1 +1 @@ -{"arm64-v8a":"3a835986e6e32bb3925905088dcdbd36","x86":"07c42a1c86c6d2e84a248e8b29e5d68e","armeabi-v7a":"071eb2907e2ffae4a1d105977ee5009d","x86_64":"6d2ef0cf34b92d58a3ee391b15f8bc1d","version":"101.0.4951.61"} \ No newline at end of file +{"arm64-v8a":"3361d1edbf6fb07e905e07a69df2b7f3","x86":"84aef5ef1dc2815ce8ed23d1bc59487e","armeabi-v7a":"e8015c995f72baae1d86388a55415b33","x86_64":"ad4c32cfa06dad191fd2d96f65d5d866","version":"102.0.5005.78"} \ No newline at end of file diff --git a/app/src/main/assets/updateLog.md b/app/src/main/assets/updateLog.md index 7634cf5f3..24e3d1df9 100644 --- a/app/src/main/assets/updateLog.md +++ b/app/src/main/assets/updateLog.md @@ -13,6 +13,7 @@ **2022/05/30** +* 更新cronet: 102.0.5005.78 * 缓存导出添加导出图片文件选项 * 其他设置添加图片绘制缓存选项 diff --git a/gradle.properties b/gradle.properties index 07e4b9d60..282522d2d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -26,4 +26,4 @@ android.experimental.enableNewResourceShrinker.preciseShrinking=true # and none from the library's dependencies, thereby reducing the size of the R class for that library. android.nonTransitiveRClass=true #https://chromiumdash.appspot.com/releases?platform=Android -CronetVersion=101.0.4951.61 +CronetVersion=102.0.5005.78 From bc2edf4e56b818880735f3461cf20b65c1aec46a Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Mon, 30 May 2022 11:54:40 +0800 Subject: [PATCH 10/11] chore: remove unused string --- app/src/main/res/values-es-rES/strings.xml | 1 - app/src/main/res/values-ja-rJP/strings.xml | 1 - app/src/main/res/values-pt-rBR/strings.xml | 1 - app/src/main/res/values-zh-rHK/strings.xml | 1 - app/src/main/res/values-zh-rTW/strings.xml | 1 - app/src/main/res/values-zh/strings.xml | 1 - app/src/main/res/values/strings.xml | 1 - 7 files changed, 7 deletions(-) diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 787fd4a0b..f42af61d0 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -991,7 +991,6 @@ WebDavBook Current cache max size %1$s MB bitmap cache size - Restart to apply changes Export Picture Files diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index c8bcb70fb..974b86c3d 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -994,7 +994,6 @@ WebDavBook Current cache max size %1$s MB bitmap cache size - Restart to apply changes Export Picture Files diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index ba19a85e7..02b040674 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -994,7 +994,6 @@ WebDavBook Current cache max size %1$s MB bitmap cache size - Restart to apply changes Export Picture Files diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index dcd42e23c..a3975f06c 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -991,7 +991,6 @@ WebDav书籍 当前最大缓存 %1$s MB 图片绘制缓存 - 重启应用更改 TXT导出图片 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index efd3fc28b..6980d349f 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -993,7 +993,6 @@ WebDav书籍 当前最大缓存 %1$s MB 图片绘制缓存 - 重启应用更改 TXT导出图片 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index e79b3aa83..d249d2ba1 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -993,7 +993,6 @@ WebDav书籍 当前最大缓存 %1$s MB 图片绘制缓存 - 重启应用更改 TXT导出图片 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 49014f91b..5b6341758 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -994,7 +994,6 @@ WebDavBook Current cache max size %1$s MB bitmap cache size - Restart to apply changes Export Picture Files From 859aff65259343ad32eaeb591726a569d9d67a89 Mon Sep 17 00:00:00 2001 From: Xwite <82232510+Xwite@users.noreply.github.com> Date: Mon, 30 May 2022 12:19:51 +0800 Subject: [PATCH 11/11] Revert "Bump hutool-crypto from 5.8.1 to 5.8.2 in /app" This reverts commit d04ab661b0a10322db6f6b0dacbf7f02b24a0791. --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index f60170c10..0a87dd191 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -253,7 +253,7 @@ dependencies { implementation('com.github.liuyueyi.quick-chinese-transfer:quick-transfer-core:0.2.4') //加解密类库,有些书源使用 - implementation('cn.hutool:hutool-crypto:5.8.2') + implementation('cn.hutool:hutool-crypto:5.8.1') //firebase, 崩溃统计和性能统计, 会导致共存版本崩溃 //implementation platform('com.google.firebase:firebase-bom:30.0.1')