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 06fddad74..025a3eba6 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 @@ -98,15 +98,16 @@ abstract class BaseImportBookActivity : VMBaseActivity) { + private fun showSelectBookReadAlert(fileDoc: FileDoc, fileNames: List) { if (fileNames.isEmpty()) { toastOnUi(R.string.unsupport_archivefile_entry) return @@ -117,7 +118,29 @@ abstract class BaseImportBookActivity : VMBaseActivity appDb.bookDao.getBookByFileName(name)?.let { startReadBook(it.bookUrl) - } ?: toastOnUi(R.string.no_book_found_bookshelf) + } ?: showImportAlert(fileDoc, name) + } + } + + open fun addArchiveToBookShelf( + fileDoc: FileDoc, + fileName: String, + onSuccess: (String) -> Unit + ) { + } + + /* 提示是否重新导入所点击的压缩文件 */ + private fun showImportAlert(fileDoc: FileDoc, fileName: String) { + alert( + R.string.draw, + R.string.no_book_found_bookshelf + ) { + okButton { + addArchiveToBookShelf(fileDoc, fileName) { + startReadBook(it) + } + } + noButton() } } 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 23c2c7cc0..31f73df48 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 @@ -308,4 +308,11 @@ class ImportBookActivity : BaseImportBookActivity(), } } + override fun addArchiveToBookShelf( + fileDoc: FileDoc, + fileName: String, + onSuccess: (String) -> Unit + ) { + viewModel.addArchiveToBookShelf(fileDoc, fileName, onSuccess) + } } diff --git a/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookViewModel.kt b/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookViewModel.kt index 7ec591001..054913c9f 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/local/ImportBookViewModel.kt @@ -97,6 +97,18 @@ class ImportBookViewModel(application: Application) : BaseViewModel(application) } } + fun addArchiveToBookShelf( + fileDoc: FileDoc, + fileName: String, + onSuccess: (String) -> Unit + ) { + LocalBook.importArchiveFile(fileDoc.uri, fileName) { + it.contains(fileName) + }.firstOrNull()?.run { + onSuccess.invoke(bookUrl) + } + } + fun deleteDoc(uriList: HashSet, finally: () -> Unit) { execute { uriList.forEach { diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 54e8ff4be..aee4526de 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1083,5 +1083,5 @@ Cannot find supported files in archive 没有设置书籍保存位置! 删除提醒 - No book found in bookshelf + No book found in bookshelf, import again ? diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 0b8eb349d..3e4b09c5b 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -1086,5 +1086,5 @@ Cannot find supported files in archive 没有设置书籍保存位置! 删除提醒 - No book found in bookshelf + No book found in bookshelf, import again ? diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 1d9c070eb..f4e418de3 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1086,5 +1086,5 @@ Cannot find supported files in archive 没有设置书籍保存位置! 删除提醒 - No book found in bookshelf + No book found in bookshelf, import again ? diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index f2b6f39ab..a8dfa2332 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -1083,5 +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 81a3a9a4b..9aa5c09b4 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1085,5 +1085,5 @@ 压缩文件内没有支持的文件 没有设置书籍保存位置! 删除提醒 - 未在书架上找到所选书籍 + 未在书架上找到所选书籍, 是否重新导入? diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index da45cd1e8..94df3e65d 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1085,5 +1085,5 @@ 压缩文件内没有支持的文件 没有设置书籍保存位置! 删除提醒 - 未在书架上找到所选书籍 + 未在书架上找到所选书籍, 是否重新导入? diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7a3525a62..0dbc8a774 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1086,5 +1086,5 @@ Cannot find supported files in archive 没有设置书籍保存位置! 删除提醒 - No book found in bookshelf + No book found in bookshelf, import again ?