diff --git a/app/src/main/java/io/legado/app/data/dao/SearchBookDao.kt b/app/src/main/java/io/legado/app/data/dao/SearchBookDao.kt index 0bde5a81c..157a4f1e4 100644 --- a/app/src/main/java/io/legado/app/data/dao/SearchBookDao.kt +++ b/app/src/main/java/io/legado/app/data/dao/SearchBookDao.kt @@ -19,8 +19,8 @@ interface SearchBookDao { @Insert(onConflict = OnConflictStrategy.REPLACE) - fun insert(vararg searchBook: SearchBook) + fun insert(vararg searchBook: SearchBook): List @Insert(onConflict = OnConflictStrategy.REPLACE) - fun insert(searchBook: SearchBook) + fun insert(searchBook: SearchBook): Long } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/search/SearchViewModel.kt b/app/src/main/java/io/legado/app/ui/search/SearchViewModel.kt index cfe671ce5..865b1b3b7 100644 --- a/app/src/main/java/io/legado/app/ui/search/SearchViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/search/SearchViewModel.kt @@ -20,19 +20,23 @@ class SearchViewModel(application: Application) : BaseViewModel(application) { val search = WebBook(item).searchBook(key, searchPage) .onSuccess { searchBookS -> searchBookS?.let { - for (searchBook in searchBookS) { - when (key) { - searchBook.name -> searchBook.searchOrder = 0 - searchBook.author -> searchBook.searchOrder = 1 - else -> searchBook.searchOrder = 1000 + execute { + for (searchBook in searchBookS) { + when (key) { + searchBook.name -> searchBook.searchOrder = 0 + searchBook.author -> searchBook.searchOrder = 1 + else -> searchBook.searchOrder = 1000 + } + App.db.searchBookDao().insert(searchBook) } - App.db.searchBookDao().insert(searchBook) } } } tasks.add(search) } + }.onError { + it.printStackTrace() } }