Merge remote-tracking branch 'origin/master'

This commit is contained in:
kunfei
2023-03-17 09:34:22 +08:00
10 changed files with 40 additions and 11 deletions
+1
View File
@@ -15,6 +15,7 @@
* 修复书签界面删除条目后界面错乱bug
* 一些带有搜索框的界面自动隐藏软键盘
* 本地书籍导入界面支持压缩包
**2023/03/14**
@@ -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<VM : ViewModel> : VMBaseActivity<ActivityI
}
}
protected fun onArchiveFileClick(fileDoc: FileDoc) {
val fileNames = ArchiveUtils.getArchiveFilesName(fileDoc) {
it.matches(AppPattern.bookFileRegex)
}
if (fileNames.size == 1) {
appDb.bookDao.getBookByFileName(fileNames[0])?.let {
startReadBook(it.bookUrl)
} ?: toastOnUi(R.string.no_book_found_bookshelf)
} else {
showSelectBookReadAlert(fileNames)
}
}
private fun showSelectBookReadAlert(fileNames: List<String>) {
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()
@@ -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<ImportBookViewModel>(),
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)
}
}
@@ -1083,4 +1083,5 @@
<string name="unsupport_archivefile_entry">Cannot find supported files in archive</string>
<string name="no_books_dir">没有设置书籍保存位置!</string>
<string name="delete_alert">删除提醒</string>
<string name="no_book_found_bookshelf">No book found in bookshelf</string>
</resources>
@@ -1086,4 +1086,5 @@
<string name="unsupport_archivefile_entry">Cannot find supported files in archive</string>
<string name="no_books_dir">没有设置书籍保存位置!</string>
<string name="delete_alert">删除提醒</string>
<string name="no_book_found_bookshelf">No book found in bookshelf</string>
</resources>
@@ -1086,4 +1086,5 @@
<string name="unsupport_archivefile_entry">Cannot find supported files in archive</string>
<string name="no_books_dir">没有设置书籍保存位置!</string>
<string name="delete_alert">删除提醒</string>
<string name="no_book_found_bookshelf">No book found in bookshelf</string>
</resources>
@@ -1083,4 +1083,5 @@
<string name="unsupport_archivefile_entry">压缩文件内没有支持的文件</string>
<string name="no_books_dir">没有设置书籍保存位置!</string>
<string name="delete_alert">删除提醒</string>
<string name="no_book_found_bookshelf">未在书架上找到所选书籍</string>
</resources>
@@ -1085,4 +1085,5 @@
<string name="unsupport_archivefile_entry">压缩文件内没有支持的文件</string>
<string name="no_books_dir">没有设置书籍保存位置!</string>
<string name="delete_alert">删除提醒</string>
<string name="no_book_found_bookshelf">未在书架上找到所选书籍</string>
</resources>
+1
View File
@@ -1085,4 +1085,5 @@
<string name="unsupport_archivefile_entry">压缩文件内没有支持的文件</string>
<string name="no_books_dir">没有设置书籍保存位置!</string>
<string name="delete_alert">删除提醒</string>
<string name="no_book_found_bookshelf">未在书架上找到所选书籍</string>
</resources>
+1
View File
@@ -1086,4 +1086,5 @@
<string name="unsupport_archivefile_entry">Cannot find supported files in archive</string>
<string name="no_books_dir">没有设置书籍保存位置!</string>
<string name="delete_alert">删除提醒</string>
<string name="no_book_found_bookshelf">No book found in bookshelf</string>
</resources>