From 0ab2f07960df8ae2c8ecf322169a6a4abe5cf31c Mon Sep 17 00:00:00 2001 From: gedoor Date: Thu, 17 Sep 2020 11:19:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E7=9A=84=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E4=B9=9F=E5=9C=A8=E5=AD=97=E4=BD=93=E9=80=89=E6=8B=A9=E9=87=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/widget/font/FontSelectDialog.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/app/src/main/java/io/legado/app/ui/widget/font/FontSelectDialog.kt b/app/src/main/java/io/legado/app/ui/widget/font/FontSelectDialog.kt index 0fa7bea7d..ca932932a 100644 --- a/app/src/main/java/io/legado/app/ui/widget/font/FontSelectDialog.kt +++ b/app/src/main/java/io/legado/app/ui/widget/font/FontSelectDialog.kt @@ -123,6 +123,26 @@ class FontSelectDialog : BaseDialogFragment(), } } + private fun getLocalFonts(): ArrayList { + val fontItems = arrayListOf() + val fontDir = + FileUtils.createFolderIfNotExist(requireContext().externalFilesDir, "font") + fontDir.listFiles { pathName -> + pathName.name.toLowerCase(Locale.getDefault()).matches(fontRegex) + }?.forEach { + fontItems.add( + DocItem( + it.name, + it.extension, + it.length(), + Date(it.lastModified()), + Uri.parse(it.absolutePath) + ) + ) + } + return fontItems + } + private fun loadFontFiles(doc: DocumentFile) { execute { val fontItems = arrayListOf() @@ -132,6 +152,7 @@ class FontSelectDialog : BaseDialogFragment(), fontItems.add(item) } } + fontItems.addAll(getLocalFonts()) fontItems.sortedBy { it.name } }.onSuccess { adapter?.setItems(it) @@ -167,6 +188,7 @@ class FontSelectDialog : BaseDialogFragment(), ) ) } + fontItems.addAll(getLocalFonts()) fontItems.sortedBy { it.name } }.onSuccess { adapter?.setItems(it)