From 525ee3a70219727f87ff74162f5723ddcb934d3c Mon Sep 17 00:00:00 2001 From: LanRhyme <113491998+LanRhyme@users.noreply.github.com> Date: Thu, 1 May 2025 11:02:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=A4=B9=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=8B=E5=8A=A8=E8=BE=93=E5=85=A5=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E8=B7=AF=E5=BE=84=20(#5010)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 文件夹选择添加手动输入目录路径 * 文件夹选择添加手动输入目录路径 * 文件夹选择添加手动输入目录路径-统一样式 --- .../legado/app/ui/file/HandleFileActivity.kt | 38 +++++++++++++++++-- app/src/main/res/values-es-rES/strings.xml | 5 +++ app/src/main/res/values-ja-rJP/strings.xml | 5 +++ app/src/main/res/values-pt-rBR/strings.xml | 5 +++ app/src/main/res/values-vi/strings.xml | 5 +++ app/src/main/res/values-zh/strings.xml | 5 +++ app/src/main/res/values/strings.xml | 5 +++ 7 files changed, 65 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/file/HandleFileActivity.kt b/app/src/main/java/io/legado/app/ui/file/HandleFileActivity.kt index 3ccc52d5a..0c9022e1d 100644 --- a/app/src/main/java/io/legado/app/ui/file/HandleFileActivity.kt +++ b/app/src/main/java/io/legado/app/ui/file/HandleFileActivity.kt @@ -11,6 +11,7 @@ import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.constant.AppLog import io.legado.app.databinding.ActivityTranslucenceBinding +import io.legado.app.databinding.DialogEditTextBinding import io.legado.app.help.IntentData import io.legado.app.lib.dialogs.SelectItem import io.legado.app.lib.dialogs.alert @@ -140,6 +141,10 @@ class HandleFileActivity : } } + 112 -> { // 手动输入目录路径 + showInputDirectoryDialog() + } + else -> { val path = item.title val uri = if (path.isContentScheme()) { @@ -157,6 +162,30 @@ class HandleFileActivity : } } + private fun showInputDirectoryDialog() { + val alertBinding = DialogEditTextBinding.inflate(layoutInflater).apply { + editView.hint = getString(R.string.enter_directory_path) + } + + alert(getString(R.string.manual_input)) { + customView { alertBinding.root } + okButton { + val inputPath = alertBinding.editView.text.toString() + if (inputPath.isNotBlank()) { + val file = File(inputPath) + if (file.exists() && file.isDirectory && file.canRead()) { + onResult(Intent().setData(Uri.fromFile(file))) + } else { + toastOnUi(getString(R.string.invalid_directory)) + } + } else { + toastOnUi(getString(R.string.empty_directory_input)) + } + } + cancelButton() + } + } + private fun getFileData(): Triple? { val fileName = intent.getStringExtra("fileName") val file = intent.getStringExtra("fileKey")?.let { @@ -171,11 +200,15 @@ class HandleFileActivity : private fun getDirActions(onlySys: Boolean = false): ArrayList> { return if (onlySys) { - arrayListOf(SelectItem(getString(R.string.sys_folder_picker), HandleFileContract.DIR)) + arrayListOf( + SelectItem(getString(R.string.sys_folder_picker), HandleFileContract.DIR), + SelectItem(getString(R.string.manual_input), 112) // 添加手动输入选项 + ) } else { arrayListOf( SelectItem(getString(R.string.sys_folder_picker), HandleFileContract.DIR), - SelectItem(getString(R.string.app_folder_picker), 10) + SelectItem(getString(R.string.app_folder_picker), 10), + SelectItem(getString(R.string.manual_input), 112) // 添加手动输入选项 ) } } @@ -243,5 +276,4 @@ class HandleFileActivity : finish() } } - } \ No newline at end of file diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index e5ee2e95b..d8557456b 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -25,6 +25,11 @@ Ir a Ajustes No se puede ir a los ajustes. + Entrada manual + Introduzca la ruta del directorio + Ruta de directorio no válida + La ruta del directorio no puede estar vacía + Reintentar Cargando Advertencia diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index c3651790c..f0e1677de 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -25,6 +25,11 @@ Go to Settings Cannot jump to Settings. + Manual Input + Enter directory path + Invalid directory path + Directory path cannot be empty + Retry Loading Warning diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index b3bd0b2ae..a69399a9f 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -25,6 +25,11 @@ Vá até às Configurações Não foi possível abrir Configurações. + Entrada manual + Digite o caminho do diretório + Caminho do diretório inválido + O caminho do diretório não pode estar vazio + Tentar novamente Carregando Aviso diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 329ec0d70..e0e0d9269 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -24,6 +24,11 @@ Đi tới cài đặt Không thể chuyển đến cài đặt. + Nhập thủ công + Nhập đường dẫn thư mục + Đường dẫn thư mục không hợp lệ + Đường dẫn thư mục không được để trống + Thử lại Đang tải Cảnh báo diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index c4ca202ec..749e7aa9c 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -24,6 +24,11 @@ 去设置 无法跳转至设置界面 + 手动输入 + 请输入目录路径 + 目录路径无效 + 目录路径不能为空 + 点击重试 正在加载 提醒 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1f23e8e14..ee31367f6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -25,6 +25,11 @@ Go to Settings Cannot jump to Settings. + Manual Input + Enter directory path + Invalid directory path + Directory path cannot be empty + Retry Loading Warning