This commit is contained in:
Horis
2025-12-01 20:58:14 +08:00
parent b32f969965
commit fb17a2c28c
2 changed files with 11 additions and 6 deletions
@@ -13,6 +13,7 @@ import io.legado.app.constant.PreferKey
import io.legado.app.help.DefaultData import io.legado.app.help.DefaultData
import io.legado.app.help.coroutine.Coroutine import io.legado.app.help.coroutine.Coroutine
import io.legado.app.utils.BitmapUtils import io.legado.app.utils.BitmapUtils
import io.legado.app.utils.FileDoc
import io.legado.app.utils.FileUtils import io.legado.app.utils.FileUtils
import io.legado.app.utils.GSON import io.legado.app.utils.GSON
import io.legado.app.utils.compress.ZipUtils import io.legado.app.utils.compress.ZipUtils
@@ -468,7 +469,8 @@ object ReadBookConfig {
val configFile = configDir.getFile(configFileName) val configFile = configDir.getFile(configFileName)
val config: Config = GSON.fromJsonObject<Config>(configFile.readText()).getOrThrow() val config: Config = GSON.fromJsonObject<Config>(configFile.readText()).getOrThrow()
if (config.textFont.isNotEmpty()) { if (config.textFont.isNotEmpty()) {
val fontName = FileUtils.getName(config.textFont) val fontDoc = FileDoc.fromFile(config.textFont)
val fontName = fontDoc.name
val fontPath = val fontPath =
FileUtils.getPath(appCtx.externalFiles, "font", fontName) FileUtils.getPath(appCtx.externalFiles, "font", fontName)
if (!FileUtils.exist(fontPath)) { if (!FileUtils.exist(fontPath)) {
@@ -38,6 +38,7 @@ import io.legado.app.ui.book.read.ReadBookActivity
import io.legado.app.ui.file.HandleFileContract import io.legado.app.ui.file.HandleFileContract
import io.legado.app.ui.widget.seekbar.SeekBarChangeListener import io.legado.app.ui.widget.seekbar.SeekBarChangeListener
import io.legado.app.utils.ColorUtils import io.legado.app.utils.ColorUtils
import io.legado.app.utils.FileDoc
import io.legado.app.utils.FileUtils import io.legado.app.utils.FileUtils
import io.legado.app.utils.GSON import io.legado.app.utils.GSON
import io.legado.app.utils.MD5Utils import io.legado.app.utils.MD5Utils
@@ -52,9 +53,9 @@ import io.legado.app.utils.inputStream
import io.legado.app.utils.isContentScheme import io.legado.app.utils.isContentScheme
import io.legado.app.utils.launch import io.legado.app.utils.launch
import io.legado.app.utils.longToast import io.legado.app.utils.longToast
import io.legado.app.utils.openInputStream
import io.legado.app.utils.openOutputStream import io.legado.app.utils.openOutputStream
import io.legado.app.utils.outputStream import io.legado.app.utils.outputStream
import io.legado.app.utils.parseToUri
import io.legado.app.utils.postEvent import io.legado.app.utils.postEvent
import io.legado.app.utils.printOnDebug import io.legado.app.utils.printOnDebug
import io.legado.app.utils.readBytes import io.legado.app.utils.readBytes
@@ -277,12 +278,14 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) {
exportFiles.add(configFile) exportFiles.add(configFile)
val fontPath = ReadBookConfig.textFont val fontPath = ReadBookConfig.textFont
if (fontPath.isNotEmpty()) { if (fontPath.isNotEmpty()) {
val fontName = FileUtils.getName(fontPath) val fontDoc = FileDoc.fromFile(fontPath)
val fontInputStream = val fontName = fontDoc.name
fontPath.parseToUri().inputStream(requireContext()).getOrNull() val fontInputStream = fontDoc.openInputStream().getOrNull()
fontInputStream?.use { fontInputStream?.use {
val fontExportFile = FileUtils.createFileIfNotExist(configDir, fontName) val fontExportFile = FileUtils.createFileIfNotExist(configDir, fontName)
it.copyTo(fontExportFile.outputStream()) fontExportFile.outputStream().use { out ->
it.copyTo(out)
}
exportFiles.add(fontExportFile) exportFiles.add(fontExportFile)
} }
} }