From fb17a2c28c1d026d694288751852893fa94de4aa Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Mon, 1 Dec 2025 20:58:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/help/config/ReadBookConfig.kt | 4 +++- .../app/ui/book/read/config/BgTextConfigDialog.kt | 13 ++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt b/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt index 49effc231..445653c01 100644 --- a/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt +++ b/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt @@ -13,6 +13,7 @@ import io.legado.app.constant.PreferKey import io.legado.app.help.DefaultData import io.legado.app.help.coroutine.Coroutine import io.legado.app.utils.BitmapUtils +import io.legado.app.utils.FileDoc import io.legado.app.utils.FileUtils import io.legado.app.utils.GSON import io.legado.app.utils.compress.ZipUtils @@ -468,7 +469,8 @@ object ReadBookConfig { val configFile = configDir.getFile(configFileName) val config: Config = GSON.fromJsonObject(configFile.readText()).getOrThrow() if (config.textFont.isNotEmpty()) { - val fontName = FileUtils.getName(config.textFont) + val fontDoc = FileDoc.fromFile(config.textFont) + val fontName = fontDoc.name val fontPath = FileUtils.getPath(appCtx.externalFiles, "font", fontName) if (!FileUtils.exist(fontPath)) { diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt index 9ec3b6699..e0b57bc9b 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt @@ -38,6 +38,7 @@ import io.legado.app.ui.book.read.ReadBookActivity import io.legado.app.ui.file.HandleFileContract import io.legado.app.ui.widget.seekbar.SeekBarChangeListener import io.legado.app.utils.ColorUtils +import io.legado.app.utils.FileDoc import io.legado.app.utils.FileUtils import io.legado.app.utils.GSON 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.launch import io.legado.app.utils.longToast +import io.legado.app.utils.openInputStream import io.legado.app.utils.openOutputStream import io.legado.app.utils.outputStream -import io.legado.app.utils.parseToUri import io.legado.app.utils.postEvent import io.legado.app.utils.printOnDebug import io.legado.app.utils.readBytes @@ -277,12 +278,14 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) { exportFiles.add(configFile) val fontPath = ReadBookConfig.textFont if (fontPath.isNotEmpty()) { - val fontName = FileUtils.getName(fontPath) - val fontInputStream = - fontPath.parseToUri().inputStream(requireContext()).getOrNull() + val fontDoc = FileDoc.fromFile(fontPath) + val fontName = fontDoc.name + val fontInputStream = fontDoc.openInputStream().getOrNull() fontInputStream?.use { val fontExportFile = FileUtils.createFileIfNotExist(configDir, fontName) - it.copyTo(fontExportFile.outputStream()) + fontExportFile.outputStream().use { out -> + it.copyTo(out) + } exportFiles.add(fontExportFile) } }