Merge remote-tracking branch 'origin/master'
# Conflicts: # app/src/main/assets/updateLog.md # app/src/main/res/values-es-rES/strings.xml # app/src/main/res/values-ja-rJP/strings.xml # app/src/main/res/values-pt-rBR/strings.xml # app/src/main/res/values-zh-rHK/strings.xml # app/src/main/res/values-zh-rTW/strings.xml # app/src/main/res/values-zh/strings.xml # app/src/main/res/values/strings.xml
This commit is contained in:
@@ -1,10 +1,21 @@
|
|||||||
#bin/sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
echo "fetch release info from https://chromiumdash.appspot.com ..."
|
echo "fetch release info from https://chromiumdash.appspot.com ..."
|
||||||
|
|
||||||
branch="Stable"
|
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`
|
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"
|
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
|
path=$GITHUB_WORKSPACE/gradle.properties
|
||||||
current_cronet_version=`cat $path | grep CronetVersion | sed s/CronetVersion=//`
|
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
|
if [[ $current_cronet_version == $lastest_cronet_version ]];then
|
||||||
echo "cronet is already latest"
|
echo "cronet is already latest"
|
||||||
else
|
else
|
||||||
|
checkVersionExit
|
||||||
sed -i s/CronetVersion=.*/CronetVersion=$lastest_cronet_version/ $path
|
sed -i s/CronetVersion=.*/CronetVersion=$lastest_cronet_version/ $path
|
||||||
sed "15a* 更新cronet: $lastest_cronet_version" -i $GITHUB_WORKSPACE/app/src/main/assets/updateLog.md
|
sed "15a* 更新cronet: $lastest_cronet_version" -i $GITHUB_WORKSPACE/app/src/main/assets/updateLog.md
|
||||||
echo "start download latest cronet"
|
echo "start download latest cronet"
|
||||||
chmod +x gradlew
|
chmod +x gradlew
|
||||||
./gradlew app:downloadCronet
|
./gradlew app:downloadCronet
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
{"arm64-v8a":"3a835986e6e32bb3925905088dcdbd36","x86":"07c42a1c86c6d2e84a248e8b29e5d68e","armeabi-v7a":"071eb2907e2ffae4a1d105977ee5009d","x86_64":"6d2ef0cf34b92d58a3ee391b15f8bc1d","version":"101.0.4951.61"}
|
{"arm64-v8a":"3361d1edbf6fb07e905e07a69df2b7f3","x86":"84aef5ef1dc2815ce8ed23d1bc59487e","armeabi-v7a":"e8015c995f72baae1d86388a55415b33","x86_64":"ad4c32cfa06dad191fd2d96f65d5d866","version":"102.0.5005.78"}
|
||||||
@@ -11,8 +11,11 @@
|
|||||||
* 正文出现缺字漏字、内容缺失、排版错乱等情况,有可能是净化规则或简繁转换出现问题。
|
* 正文出现缺字漏字、内容缺失、排版错乱等情况,有可能是净化规则或简繁转换出现问题。
|
||||||
* 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源!
|
* 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源!
|
||||||
|
|
||||||
**2022/05/28**
|
**2022/05/30**
|
||||||
|
|
||||||
|
* 更新cronet: 102.0.5005.78
|
||||||
|
* 缓存导出添加导出图片文件选项
|
||||||
|
* 其他设置添加图片绘制缓存选项
|
||||||
* 移除刷新时重新获取目录页链接Url的配置
|
* 移除刷新时重新获取目录页链接Url的配置
|
||||||
* 添加刷新前Js,功能更强大
|
* 添加刷新前Js,功能更强大
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ object PreferKey {
|
|||||||
const val exportToWebDav = "webDavCacheBackup"
|
const val exportToWebDav = "webDavCacheBackup"
|
||||||
const val exportNoChapterName = "exportNoChapterName"
|
const val exportNoChapterName = "exportNoChapterName"
|
||||||
const val exportType = "exportType"
|
const val exportType = "exportType"
|
||||||
|
const val exportPictureFile = "exportPictureFile"
|
||||||
const val changeSourceCheckAuthor = "changeSourceCheckAuthor"
|
const val changeSourceCheckAuthor = "changeSourceCheckAuthor"
|
||||||
const val changeSourceLoadToc = "changeSourceLoadToc"
|
const val changeSourceLoadToc = "changeSourceLoadToc"
|
||||||
const val changeSourceLoadInfo = "changeSourceLoadInfo"
|
const val changeSourceLoadInfo = "changeSourceLoadInfo"
|
||||||
@@ -82,6 +83,7 @@ object PreferKey {
|
|||||||
const val syncBookProgress = "syncBookProgress"
|
const val syncBookProgress = "syncBookProgress"
|
||||||
const val cronet = "Cronet"
|
const val cronet = "Cronet"
|
||||||
const val antiAlias = "antiAlias"
|
const val antiAlias = "antiAlias"
|
||||||
|
const val bitmapCacheSize = "bitmapCacheSize"
|
||||||
const val preDownloadNum = "preDownloadNum"
|
const val preDownloadNum = "preDownloadNum"
|
||||||
const val autoRefresh = "auto_refresh"
|
const val autoRefresh = "auto_refresh"
|
||||||
const val defaultToRead = "defaultToRead"
|
const val defaultToRead = "defaultToRead"
|
||||||
@@ -107,7 +109,6 @@ object PreferKey {
|
|||||||
const val welcomeShowIcon = "welcomeShowIcon"
|
const val welcomeShowIcon = "welcomeShowIcon"
|
||||||
const val welcomeShowIconDark = "welcomeShowIconDark"
|
const val welcomeShowIconDark = "welcomeShowIconDark"
|
||||||
|
|
||||||
|
|
||||||
const val cPrimary = "colorPrimary"
|
const val cPrimary = "colorPrimary"
|
||||||
const val cAccent = "colorAccent"
|
const val cAccent = "colorAccent"
|
||||||
const val cBackground = "colorBackground"
|
const val cBackground = "colorBackground"
|
||||||
@@ -121,4 +122,5 @@ object PreferKey {
|
|||||||
const val cNBBackground = "colorBottomBackgroundNight"
|
const val cNBBackground = "colorBottomBackgroundNight"
|
||||||
const val bgImageN = "backgroundImageNight"
|
const val bgImageN = "backgroundImageNight"
|
||||||
const val bgImageNBlurring = "backgroundImageNightBlurring"
|
const val bgImageNBlurring = "backgroundImageNightBlurring"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -243,6 +243,11 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
|||||||
set(value) {
|
set(value) {
|
||||||
appCtx.putPrefInt(PreferKey.exportType, 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
|
var changeSourceCheckAuthor: Boolean
|
||||||
get() = appCtx.getPrefBoolean(PreferKey.changeSourceCheckAuthor)
|
get() = appCtx.getPrefBoolean(PreferKey.changeSourceCheckAuthor)
|
||||||
@@ -323,5 +328,11 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
|||||||
}
|
}
|
||||||
return ua
|
return ua
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var bitmapCacheSize: Int
|
||||||
|
get() = appCtx.getPrefInt(PreferKey.bitmapCacheSize, 50)
|
||||||
|
set(value) {
|
||||||
|
appCtx.putPrefInt(PreferKey.bitmapCacheSize, value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ object BackupConfig {
|
|||||||
PreferKey.webDavDir,
|
PreferKey.webDavDir,
|
||||||
PreferKey.webDavAccount,
|
PreferKey.webDavAccount,
|
||||||
PreferKey.webDavPassword,
|
PreferKey.webDavPassword,
|
||||||
PreferKey.launcherIcon
|
PreferKey.launcherIcon,
|
||||||
|
PreferKey.bitmapCacheSize
|
||||||
)
|
)
|
||||||
|
|
||||||
//配置忽略标题
|
//配置忽略标题
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ class CacheActivity : VMBaseActivity<ActivityCacheBookBinding, CacheViewModel>()
|
|||||||
menu.findItem(R.id.menu_enable_replace)?.isChecked = AppConfig.exportUseReplace
|
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_no_chapter_name)?.isChecked = AppConfig.exportNoChapterName
|
||||||
menu.findItem(R.id.menu_export_web_dav)?.isChecked = AppConfig.exportToWebDav
|
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 =
|
menu.findItem(R.id.menu_export_type)?.title =
|
||||||
"${getString(R.string.export_type)}(${getTypeName()})"
|
"${getString(R.string.export_type)}(${getTypeName()})"
|
||||||
menu.findItem(R.id.menu_export_charset)?.title =
|
menu.findItem(R.id.menu_export_charset)?.title =
|
||||||
@@ -129,6 +130,7 @@ class CacheActivity : VMBaseActivity<ActivityCacheBookBinding, CacheViewModel>()
|
|||||||
R.id.menu_enable_replace -> AppConfig.exportUseReplace = !item.isChecked
|
R.id.menu_enable_replace -> AppConfig.exportUseReplace = !item.isChecked
|
||||||
R.id.menu_export_no_chapter_name -> AppConfig.exportNoChapterName = !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_web_dav -> AppConfig.exportToWebDav = !item.isChecked
|
||||||
|
R.id.menu_export_pics_file -> AppConfig.exportPictureFile = !item.isChecked
|
||||||
R.id.menu_export_folder -> {
|
R.id.menu_export_folder -> {
|
||||||
selectExportFolder(-1)
|
selectExportFolder(-1)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -168,17 +168,22 @@ class CacheViewModel(application: Application) : BaseViewModel(application) {
|
|||||||
chineseConvert = false,
|
chineseConvert = false,
|
||||||
reSegment = false
|
reSegment = false
|
||||||
).joinToString("\n")
|
).joinToString("\n")
|
||||||
val srcList = arrayListOf<Triple<String, Int, String>>()
|
if (AppConfig.exportPictureFile) {
|
||||||
content?.split("\n")?.forEachIndexed { index, text ->
|
//txt导出图片文件
|
||||||
val matcher = AppPattern.imgPattern.matcher(text)
|
val srcList = arrayListOf<Triple<String, Int, String>>()
|
||||||
while (matcher.find()) {
|
content?.split("\n")?.forEachIndexed { index, text ->
|
||||||
matcher.group(1)?.let {
|
val matcher = AppPattern.imgPattern.matcher(text)
|
||||||
val src = NetworkUtils.getAbsoluteURL(chapter.url, it)
|
while (matcher.find()) {
|
||||||
srcList.add(Triple(chapter.title, index, src))
|
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)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import io.legado.app.data.entities.Book
|
|||||||
import io.legado.app.data.entities.BookSource
|
import io.legado.app.data.entities.BookSource
|
||||||
import io.legado.app.exception.NoStackTraceException
|
import io.legado.app.exception.NoStackTraceException
|
||||||
import io.legado.app.help.BookHelp
|
import io.legado.app.help.BookHelp
|
||||||
|
import io.legado.app.help.config.AppConfig
|
||||||
import io.legado.app.help.coroutine.Coroutine
|
import io.legado.app.help.coroutine.Coroutine
|
||||||
import io.legado.app.model.localBook.EpubFile
|
import io.legado.app.model.localBook.EpubFile
|
||||||
import io.legado.app.utils.BitmapUtils
|
import io.legado.app.utils.BitmapUtils
|
||||||
@@ -19,8 +20,6 @@ import kotlinx.coroutines.withContext
|
|||||||
import splitties.init.appCtx
|
import splitties.init.appCtx
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
import kotlin.math.max
|
|
||||||
import kotlin.math.min
|
|
||||||
|
|
||||||
object ImageProvider {
|
object ImageProvider {
|
||||||
|
|
||||||
@@ -32,8 +31,7 @@ object ImageProvider {
|
|||||||
*缓存bitmap LruCache实现
|
*缓存bitmap LruCache实现
|
||||||
*/
|
*/
|
||||||
private const val M = 1024 * 1024
|
private const val M = 1024 * 1024
|
||||||
private val cacheSize =
|
val cacheSize get() = AppConfig.bitmapCacheSize * M
|
||||||
max(50 * M, min(100 * M, (Runtime.getRuntime().maxMemory() / 8).toInt()))
|
|
||||||
val bitmapLruCache = object : LruCache<String, Bitmap>(cacheSize) {
|
val bitmapLruCache = object : LruCache<String, Bitmap>(cacheSize) {
|
||||||
|
|
||||||
override fun sizeOf(key: String, bitmap: Bitmap): Int {
|
override fun sizeOf(key: String, bitmap: Bitmap): Int {
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import io.legado.app.lib.theme.primaryColor
|
|||||||
import io.legado.app.model.CheckSource
|
import io.legado.app.model.CheckSource
|
||||||
import io.legado.app.receiver.SharedReceiverActivity
|
import io.legado.app.receiver.SharedReceiverActivity
|
||||||
import io.legado.app.service.WebService
|
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.document.HandleFileContract
|
||||||
import io.legado.app.ui.widget.number.NumberPickerDialog
|
import io.legado.app.ui.widget.number.NumberPickerDialog
|
||||||
import io.legado.app.utils.*
|
import io.legado.app.utils.*
|
||||||
@@ -56,6 +57,7 @@ class OtherConfigFragment : PreferenceFragment(),
|
|||||||
upPreferenceSummary(PreferKey.defaultBookTreeUri, it)
|
upPreferenceSummary(PreferKey.defaultBookTreeUri, it)
|
||||||
}
|
}
|
||||||
upPreferenceSummary(PreferKey.checkSource, CheckSource.summary)
|
upPreferenceSummary(PreferKey.checkSource, CheckSource.summary)
|
||||||
|
upPreferenceSummary(PreferKey.bitmapCacheSize, AppConfig.bitmapCacheSize.toString())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
@@ -104,6 +106,17 @@ class OtherConfigFragment : PreferenceFragment(),
|
|||||||
PreferKey.cleanCache -> clearCache()
|
PreferKey.cleanCache -> clearCache()
|
||||||
PreferKey.uploadRule -> showDialogFragment<DirectLinkUploadConfig>()
|
PreferKey.uploadRule -> showDialogFragment<DirectLinkUploadConfig>()
|
||||||
PreferKey.checkSource -> showDialogFragment<CheckSourceConfig>()
|
PreferKey.checkSource -> showDialogFragment<CheckSourceConfig>()
|
||||||
|
PreferKey.bitmapCacheSize -> {
|
||||||
|
NumberPickerDialog(requireContext())
|
||||||
|
.setTitle(getString(R.string.bitmap_cache_size))
|
||||||
|
.setMaxValue(9999)
|
||||||
|
.setMinValue(1)
|
||||||
|
.setValue(AppConfig.bitmapCacheSize)
|
||||||
|
.show {
|
||||||
|
AppConfig.bitmapCacheSize = it
|
||||||
|
ImageProvider.bitmapLruCache.resize(ImageProvider.cacheSize)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return super.onPreferenceTreeClick(preference)
|
return super.onPreferenceTreeClick(preference)
|
||||||
}
|
}
|
||||||
@@ -141,6 +154,9 @@ class OtherConfigFragment : PreferenceFragment(),
|
|||||||
PreferKey.checkSource -> listView.post {
|
PreferKey.checkSource -> listView.post {
|
||||||
upPreferenceSummary(PreferKey.checkSource, CheckSource.summary)
|
upPreferenceSummary(PreferKey.checkSource, CheckSource.summary)
|
||||||
}
|
}
|
||||||
|
PreferKey.bitmapCacheSize -> {
|
||||||
|
upPreferenceSummary(key, AppConfig.bitmapCacheSize.toString())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,6 +167,7 @@ class OtherConfigFragment : PreferenceFragment(),
|
|||||||
getString(R.string.pre_download_s, value)
|
getString(R.string.pre_download_s, value)
|
||||||
PreferKey.threadCount -> preference.summary = getString(R.string.threads_num, value)
|
PreferKey.threadCount -> preference.summary = getString(R.string.threads_num, value)
|
||||||
PreferKey.webPort -> preference.summary = getString(R.string.web_port_summary, 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) {
|
else -> if (preference is ListPreference) {
|
||||||
val index = preference.findIndexOfValue(value)
|
val index = preference.findIndexOfValue(value)
|
||||||
// Set the summary to reflect the new value.
|
// Set the summary to reflect the new value.
|
||||||
|
|||||||
@@ -36,12 +36,19 @@
|
|||||||
android:title="@string/export_to_web_dav"
|
android:title="@string/export_to_web_dav"
|
||||||
android:checkable="true"
|
android:checkable="true"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_export_no_chapter_name"
|
android:id="@+id/menu_export_no_chapter_name"
|
||||||
android:title="@string/export_no_chapter_name"
|
android:title="@string/export_no_chapter_name"
|
||||||
android:checkable="true"
|
android:checkable="true"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/menu_export_pics_file"
|
||||||
|
android:title="@string/export_pics_file"
|
||||||
|
android:checkable="true"
|
||||||
|
app:showAsAction="never" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_export_folder"
|
android:id="@+id/menu_export_folder"
|
||||||
android:title="@string/export_folder"
|
android:title="@string/export_folder"
|
||||||
|
|||||||
@@ -989,6 +989,8 @@
|
|||||||
<string name="download_book_fail">Download Fail</string>
|
<string name="download_book_fail">Download Fail</string>
|
||||||
<string name="upload_to_remote">Upload</string>
|
<string name="upload_to_remote">Upload</string>
|
||||||
<string name="add_remote_book">WebDavBook</string>
|
<string name="add_remote_book">WebDavBook</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="export_pics_file">Export Picture Files</string>
|
||||||
<!-- string end -->
|
<!-- string end -->
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -992,6 +992,8 @@
|
|||||||
<string name="download_book_fail">Download Fail</string>
|
<string name="download_book_fail">Download Fail</string>
|
||||||
<string name="upload_to_remote">Upload</string>
|
<string name="upload_to_remote">Upload</string>
|
||||||
<string name="add_remote_book">WebDavBook</string>
|
<string name="add_remote_book">WebDavBook</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="export_pics_file">Export Picture Files</string>
|
||||||
<!-- string end -->
|
<!-- string end -->
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -992,6 +992,8 @@
|
|||||||
<string name="download_book_fail">Download Fail</string>
|
<string name="download_book_fail">Download Fail</string>
|
||||||
<string name="upload_to_remote">Upload</string>
|
<string name="upload_to_remote">Upload</string>
|
||||||
<string name="add_remote_book">WebDavBook</string>
|
<string name="add_remote_book">WebDavBook</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="export_pics_file">Export Picture Files</string>
|
||||||
<!-- string end -->
|
<!-- string end -->
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -989,6 +989,8 @@
|
|||||||
<string name="download_book_fail">Download Fail</string>
|
<string name="download_book_fail">Download Fail</string>
|
||||||
<string name="upload_to_remote">Upload</string>
|
<string name="upload_to_remote">Upload</string>
|
||||||
<string name="add_remote_book">WebDav书籍</string>
|
<string name="add_remote_book">WebDav书籍</string>
|
||||||
|
<string name="bitmap_cache_size_summary">当前最大缓存 %1$s MB</string>
|
||||||
|
<string name="bitmap_cache_size">图片绘制缓存</string>
|
||||||
|
<string name="export_pics_file">TXT导出图片</string>
|
||||||
<!-- string end -->
|
<!-- string end -->
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -991,6 +991,8 @@
|
|||||||
<string name="download_book_fail">Download Fail</string>
|
<string name="download_book_fail">Download Fail</string>
|
||||||
<string name="upload_to_remote">Upload</string>
|
<string name="upload_to_remote">Upload</string>
|
||||||
<string name="add_remote_book">WebDav书籍</string>
|
<string name="add_remote_book">WebDav书籍</string>
|
||||||
|
<string name="bitmap_cache_size_summary">当前最大缓存 %1$s MB</string>
|
||||||
|
<string name="bitmap_cache_size">图片绘制缓存</string>
|
||||||
|
<string name="export_pics_file">TXT导出图片</string>
|
||||||
<!-- string end -->
|
<!-- string end -->
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -991,6 +991,8 @@
|
|||||||
<string name="download_book_fail">Download Fail</string>
|
<string name="download_book_fail">Download Fail</string>
|
||||||
<string name="upload_to_remote">上传WebDav</string>
|
<string name="upload_to_remote">上传WebDav</string>
|
||||||
<string name="add_remote_book">WebDav书籍</string>
|
<string name="add_remote_book">WebDav书籍</string>
|
||||||
|
<string name="bitmap_cache_size_summary">当前最大缓存 %1$s MB</string>
|
||||||
|
<string name="bitmap_cache_size">图片绘制缓存</string>
|
||||||
|
<string name="export_pics_file">TXT导出图片</string>
|
||||||
<!-- string end -->
|
<!-- string end -->
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -992,6 +992,8 @@
|
|||||||
<string name="download_book_fail">Download Fail</string>
|
<string name="download_book_fail">Download Fail</string>
|
||||||
<string name="upload_to_remote">Upload</string>
|
<string name="upload_to_remote">Upload</string>
|
||||||
<string name="add_remote_book">WebDavBook</string>
|
<string name="add_remote_book">WebDavBook</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="export_pics_file">Export Picture Files</string>
|
||||||
<!-- string end -->
|
<!-- string end -->
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -75,12 +75,18 @@
|
|||||||
android:key="Cronet"
|
android:key="Cronet"
|
||||||
android:summary="@string/pref_cronet_summary"
|
android:summary="@string/pref_cronet_summary"
|
||||||
android:title="Cronet" />
|
android:title="Cronet" />
|
||||||
|
|
||||||
<io.legado.app.lib.prefs.SwitchPreference
|
<io.legado.app.lib.prefs.SwitchPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:key="antiAlias"
|
android:key="antiAlias"
|
||||||
android:summary="@string/pref_anti_alias_summary"
|
android:summary="@string/pref_anti_alias_summary"
|
||||||
android:title="@string/anti_alias" />
|
android:title="@string/anti_alias" />
|
||||||
|
|
||||||
|
<io.legado.app.lib.prefs.Preference
|
||||||
|
android:key="bitmapCacheSize"
|
||||||
|
android:summary="@string/bitmap_cache_size_summary"
|
||||||
|
android:title="@string/bitmap_cache_size" />
|
||||||
|
|
||||||
<io.legado.app.lib.prefs.Preference
|
<io.legado.app.lib.prefs.Preference
|
||||||
android:key="preDownloadNum"
|
android:key="preDownloadNum"
|
||||||
android:summary="@string/pre_download_s"
|
android:summary="@string/pre_download_s"
|
||||||
|
|||||||
+1
-1
@@ -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.
|
# and none from the library's dependencies, thereby reducing the size of the R class for that library.
|
||||||
android.nonTransitiveRClass=true
|
android.nonTransitiveRClass=true
|
||||||
#https://chromiumdash.appspot.com/releases?platform=Android
|
#https://chromiumdash.appspot.com/releases?platform=Android
|
||||||
CronetVersion=101.0.4951.61
|
CronetVersion=102.0.5005.78
|
||||||
|
|||||||
Reference in New Issue
Block a user