diff --git a/app/src/main/assets/updateLog.md b/app/src/main/assets/updateLog.md index e82815eba..f21bbb0df 100644 --- a/app/src/main/assets/updateLog.md +++ b/app/src/main/assets/updateLog.md @@ -15,6 +15,7 @@ * 修复书签界面删除条目后界面错乱bug * 一些带有搜索框的界面自动隐藏软键盘 +* 本地书籍导入界面支持压缩包 **2023/03/14** diff --git a/app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt index eef17f4bb..6e31646a1 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/BaseImportBookActivity.kt @@ -8,8 +8,11 @@ import androidx.lifecycle.ViewModel import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.databinding.ActivityImportBookBinding +import io.legado.app.data.appDb +import io.legado.app.constant.AppPattern import io.legado.app.help.config.AppConfig import io.legado.app.lib.dialogs.alert +import io.legado.app.lib.dialogs.selector import io.legado.app.lib.theme.primaryTextColor import io.legado.app.ui.book.read.ReadBookActivity import io.legado.app.ui.document.HandleFileContract @@ -90,6 +93,34 @@ abstract class BaseImportBookActivity : VMBaseActivity) { + if (fileNames.isEmpty()) { + toastOnUi(R.string.unsupport_archivefile_entry) + return + } + selector( + R.string.start_read, + fileNames + ) { _, name, _ -> + appDb.bookDao.getBookByFileName(name)?.let { + startReadBook(it.bookUrl) + } ?: toastOnUi(R.string.no_book_found_bookshelf) + } + } + private fun initSearchView() { searchView.applyTint(primaryTextColor) searchView.onActionViewExpanded() diff --git a/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt index 74bac32e3..23c2c7cc0 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookActivity.kt @@ -11,7 +11,6 @@ import androidx.documentfile.provider.DocumentFile import androidx.recyclerview.widget.LinearLayoutManager import io.legado.app.R import io.legado.app.constant.AppConst -import io.legado.app.constant.AppPattern import io.legado.app.constant.PreferKey import io.legado.app.data.appDb import io.legado.app.databinding.DialogEditTextBinding @@ -305,16 +304,7 @@ class ImportBookActivity : BaseImportBookActivity(), if (!ArchiveUtils.isArchive(fileDoc.name)) { startReadBook(fileDoc.toString()) } else { - val fileNames = ArchiveUtils.getArchiveFilesName(fileDoc) { - it.matches(AppPattern.bookFileRegex) - } - if (fileNames.size == 1) { - appDb.bookDao.getBookByFileName(fileNames[0])?.let { - startReadBook(it.bookUrl) - } - } else { - //onArchiveFileClick(fileNames) - } + onArchiveFileClick(fileDoc) } } diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index b69d8b53f..54e8ff4be 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1083,4 +1083,5 @@ Cannot find supported files in archive 没有设置书籍保存位置! 删除提醒 + No book found in bookshelf diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 7cc87ad31..0b8eb349d 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -1086,4 +1086,5 @@ Cannot find supported files in archive 没有设置书籍保存位置! 删除提醒 + No book found in bookshelf diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 649220aca..1d9c070eb 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1086,4 +1086,5 @@ Cannot find supported files in archive 没有设置书籍保存位置! 删除提醒 + No book found in bookshelf diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index b508b8f2c..f2b6f39ab 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -1083,4 +1083,5 @@ 压缩文件内没有支持的文件 没有设置书籍保存位置! 删除提醒 + 未在书架上找到所选书籍 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 432724be3..81a3a9a4b 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1085,4 +1085,5 @@ 压缩文件内没有支持的文件 没有设置书籍保存位置! 删除提醒 + 未在书架上找到所选书籍 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index b787903c9..da45cd1e8 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1085,4 +1085,5 @@ 压缩文件内没有支持的文件 没有设置书籍保存位置! 删除提醒 + 未在书架上找到所选书籍 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 082806f5c..7a3525a62 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1086,4 +1086,5 @@ Cannot find supported files in archive 没有设置书籍保存位置! 删除提醒 + No book found in bookshelf