|
@@ -5,6 +5,7 @@ import io.legado.app.constant.PreferKey
|
|
|
import io.legado.app.data.appDb
|
|
import io.legado.app.data.appDb
|
|
|
import io.legado.app.data.entities.BookSource
|
|
import io.legado.app.data.entities.BookSource
|
|
|
import io.legado.app.data.entities.SearchBook
|
|
import io.legado.app.data.entities.SearchBook
|
|
|
|
|
+import io.legado.app.exception.NoStackTraceException
|
|
|
import io.legado.app.help.config.AppConfig
|
|
import io.legado.app.help.config.AppConfig
|
|
|
import io.legado.app.help.coroutine.CompositeCoroutine
|
|
import io.legado.app.help.coroutine.CompositeCoroutine
|
|
|
import io.legado.app.ui.book.search.SearchScope
|
|
import io.legado.app.ui.book.search.SearchScope
|
|
@@ -55,6 +56,10 @@ class SearchModel(private val scope: CoroutineScope, private val callBack: CallB
|
|
|
searchBooks.clear()
|
|
searchBooks.clear()
|
|
|
callBack.onSearchSuccess(searchBooks)
|
|
callBack.onSearchSuccess(searchBooks)
|
|
|
bookSourceList.addAll(callBack.getSearchScope().getBookSources())
|
|
bookSourceList.addAll(callBack.getSearchScope().getBookSources())
|
|
|
|
|
+ if (bookSourceList.isEmpty()) {
|
|
|
|
|
+ callBack.onSearchCancel(NoStackTraceException("启用书源为空"))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
} else {
|
|
} else {
|
|
|
searchPage++
|
|
searchPage++
|
|
|
}
|
|
}
|
|
@@ -197,7 +202,7 @@ class SearchModel(private val scope: CoroutineScope, private val callBack: CallB
|
|
|
fun onSearchStart()
|
|
fun onSearchStart()
|
|
|
fun onSearchSuccess(searchBooks: ArrayList<SearchBook>)
|
|
fun onSearchSuccess(searchBooks: ArrayList<SearchBook>)
|
|
|
fun onSearchFinish(isEmpty: Boolean)
|
|
fun onSearchFinish(isEmpty: Boolean)
|
|
|
- fun onSearchCancel()
|
|
|
|
|
|
|
+ fun onSearchCancel(exception: Exception? = null)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|