This commit is contained in:
kunfei
2022-03-25 17:03:59 +08:00
parent 564dce8044
commit bece7b4504
2 changed files with 3 additions and 7 deletions
@@ -128,7 +128,7 @@ class SearchModel(private val scope: CoroutineScope) {
if (searchIndex >= bookSourceList.lastIndex if (searchIndex >= bookSourceList.lastIndex
+ min(bookSourceList.size, threadCount) + min(bookSourceList.size, threadCount)
) { ) {
callBack?.onSearchFinish() callBack?.onSearchFinish(searchBooks.isEmpty())
} }
} }
@@ -214,7 +214,7 @@ class SearchModel(private val scope: CoroutineScope) {
interface CallBack { interface CallBack {
fun onSearchStart() fun onSearchStart()
fun onSearchSuccess(searchBooks: ArrayList<SearchBook>) fun onSearchSuccess(searchBooks: ArrayList<SearchBook>)
fun onSearchFinish() fun onSearchFinish(isEmpty: Boolean)
fun onSearchCancel() fun onSearchCancel()
} }
@@ -17,7 +17,6 @@ class SearchViewModel(application: Application) : BaseViewModel(application) {
private val searchModel = SearchModel(viewModelScope) private val searchModel = SearchModel(viewModelScope)
var isSearchLiveData = MutableLiveData<Boolean>() var isSearchLiveData = MutableLiveData<Boolean>()
var searchKey: String = "" var searchKey: String = ""
var isLoading = false
private var searchID = 0L private var searchID = 0L
val searchDataFlow = callbackFlow { val searchDataFlow = callbackFlow {
@@ -25,21 +24,18 @@ class SearchViewModel(application: Application) : BaseViewModel(application) {
val callback = object : SearchModel.CallBack { val callback = object : SearchModel.CallBack {
override fun onSearchStart() { override fun onSearchStart() {
isSearchLiveData.postValue(true) isSearchLiveData.postValue(true)
isLoading = true
} }
override fun onSearchSuccess(searchBooks: ArrayList<SearchBook>) { override fun onSearchSuccess(searchBooks: ArrayList<SearchBook>) {
trySend(ArrayList(searchBooks)) trySend(ArrayList(searchBooks))
} }
override fun onSearchFinish() { override fun onSearchFinish(isEmpty: Boolean) {
isSearchLiveData.postValue(false) isSearchLiveData.postValue(false)
isLoading = false
} }
override fun onSearchCancel() { override fun onSearchCancel() {
isSearchLiveData.postValue(false) isSearchLiveData.postValue(false)
isLoading = false
} }
} }