mirror of
https://github.com/gedoor/legado.git
synced 2024-08-30 09:23:26 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
f543d3429e
@ -13,6 +13,7 @@ import io.legado.app.utils.getPrefBoolean
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.ExecutorCoroutineDispatcher
|
||||
import kotlinx.coroutines.asCoroutineDispatcher
|
||||
import kotlinx.coroutines.ensureActive
|
||||
import kotlinx.coroutines.isActive
|
||||
import splitties.init.appCtx
|
||||
import java.util.concurrent.Executors
|
||||
@ -76,23 +77,24 @@ class SearchModel(private val scope: CoroutineScope, private val callBack: CallB
|
||||
}
|
||||
searchIndex++
|
||||
val source = bookSourceList[searchIndex]
|
||||
searchPool?.let { searchPool ->
|
||||
val task = WebBook.searchBook(
|
||||
scope,
|
||||
source,
|
||||
searchKey,
|
||||
searchPage,
|
||||
context = searchPool,
|
||||
executeContext = searchPool
|
||||
).timeout(30000L)
|
||||
.onSuccess {
|
||||
onSuccess(searchId, it)
|
||||
}
|
||||
.onFinally {
|
||||
onFinally(searchId)
|
||||
}
|
||||
tasks.add(task)
|
||||
}
|
||||
val searchPool = searchPool ?: return
|
||||
val task = WebBook.searchBook(
|
||||
scope,
|
||||
source,
|
||||
searchKey,
|
||||
searchPage,
|
||||
context = searchPool,
|
||||
executeContext = searchPool
|
||||
).timeout(30000L)
|
||||
.onSuccess {
|
||||
ensureActive()
|
||||
onSuccess(searchId, it)
|
||||
}
|
||||
.onFinally {
|
||||
ensureActive()
|
||||
onFinally(searchId)
|
||||
}
|
||||
tasks.add(task)
|
||||
}
|
||||
|
||||
@Synchronized
|
||||
|
@ -282,16 +282,14 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
||||
private fun receiptIntent(intent: Intent? = null) {
|
||||
val searchScope = intent?.getStringExtra("searchScope")
|
||||
searchScope?.let {
|
||||
viewModel.searchScope.update(searchScope)
|
||||
viewModel.searchScope.update(searchScope, false)
|
||||
}
|
||||
val key = intent?.getStringExtra("key")
|
||||
if (key.isNullOrBlank()) {
|
||||
searchView.findViewById<TextView>(androidx.appcompat.R.id.search_src_text)
|
||||
.requestFocus()
|
||||
} else {
|
||||
searchView.post {
|
||||
searchView.setQuery(key, true)
|
||||
}
|
||||
searchView.setQuery(key, true)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -31,9 +31,9 @@ data class SearchScope(private var scope: String) {
|
||||
|
||||
val stateLiveData = MutableLiveData(scope)
|
||||
|
||||
fun update(scope: String) {
|
||||
fun update(scope: String, postValue: Boolean = true) {
|
||||
this.scope = scope
|
||||
stateLiveData.postValue(scope)
|
||||
if (postValue) stateLiveData.postValue(scope)
|
||||
save()
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user