diff --git a/app/src/main/java/io/legado/app/model/webBook/SearchModel.kt b/app/src/main/java/io/legado/app/model/webBook/SearchModel.kt index be338fa0f..0e92d9acd 100644 --- a/app/src/main/java/io/legado/app/model/webBook/SearchModel.kt +++ b/app/src/main/java/io/legado/app/model/webBook/SearchModel.kt @@ -128,7 +128,7 @@ class SearchModel(private val scope: CoroutineScope) { if (searchIndex >= bookSourceList.lastIndex + min(bookSourceList.size, threadCount) ) { - callBack?.onSearchFinish() + callBack?.onSearchFinish(searchBooks.isEmpty()) } } @@ -214,7 +214,7 @@ class SearchModel(private val scope: CoroutineScope) { interface CallBack { fun onSearchStart() fun onSearchSuccess(searchBooks: ArrayList) - fun onSearchFinish() + fun onSearchFinish(isEmpty: Boolean) fun onSearchCancel() } diff --git a/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt b/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt index b38236270..f28d0f205 100644 --- a/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/search/SearchViewModel.kt @@ -17,7 +17,6 @@ class SearchViewModel(application: Application) : BaseViewModel(application) { private val searchModel = SearchModel(viewModelScope) var isSearchLiveData = MutableLiveData() var searchKey: String = "" - var isLoading = false private var searchID = 0L val searchDataFlow = callbackFlow { @@ -25,21 +24,18 @@ class SearchViewModel(application: Application) : BaseViewModel(application) { val callback = object : SearchModel.CallBack { override fun onSearchStart() { isSearchLiveData.postValue(true) - isLoading = true } override fun onSearchSuccess(searchBooks: ArrayList) { trySend(ArrayList(searchBooks)) } - override fun onSearchFinish() { + override fun onSearchFinish(isEmpty: Boolean) { isSearchLiveData.postValue(false) - isLoading = false } override fun onSearchCancel() { isSearchLiveData.postValue(false) - isLoading = false } }