优化
This commit is contained in:
@@ -41,6 +41,7 @@ import io.legado.app.utils.setLayout
|
|||||||
import io.legado.app.utils.startActivity
|
import io.legado.app.utils.startActivity
|
||||||
import io.legado.app.utils.toastOnUi
|
import io.legado.app.utils.toastOnUi
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
|
import kotlinx.coroutines.Dispatchers.IO
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.flow.conflate
|
import kotlinx.coroutines.flow.conflate
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -79,7 +80,7 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
|||||||
cancelButton()
|
cancelButton()
|
||||||
okButton {
|
okButton {
|
||||||
AppConfig.searchGroup = ""
|
AppConfig.searchGroup = ""
|
||||||
upGroupMenu()
|
upGroupMenuName()
|
||||||
viewModel.startSearch()
|
viewModel.startSearch()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -248,9 +249,12 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
|||||||
} else {
|
} else {
|
||||||
AppConfig.searchGroup = item.title.toString()
|
AppConfig.searchGroup = item.title.toString()
|
||||||
}
|
}
|
||||||
upGroupMenu()
|
upGroupMenuName()
|
||||||
viewModel.startOrStopSearch()
|
launch(IO) {
|
||||||
viewModel.refresh()
|
if (viewModel.refresh()) {
|
||||||
|
viewModel.startOrStopSearch()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
@@ -373,6 +377,19 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新分组菜单名
|
||||||
|
*/
|
||||||
|
private fun upGroupMenuName() {
|
||||||
|
val menuGroup = binding.toolBar.menu.findItem(R.id.menu_group)
|
||||||
|
val searchGroup = AppConfig.searchGroup
|
||||||
|
if (searchGroup.isEmpty()) {
|
||||||
|
menuGroup?.title = getString(R.string.group)
|
||||||
|
} else {
|
||||||
|
menuGroup?.title = getString(R.string.group) + "($searchGroup)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun observeLiveBus() {
|
override fun observeLiveBus() {
|
||||||
observeEvent<String>(EventBus.SOURCE_CHANGED) {
|
observeEvent<String>(EventBus.SOURCE_CHANGED) {
|
||||||
adapter.notifyItemRangeChanged(
|
adapter.notifyItemRangeChanged(
|
||||||
|
|||||||
@@ -137,12 +137,13 @@ open class ChangeBookSourceViewModel(application: Application) : BaseViewModel(a
|
|||||||
searchIndex = -1
|
searchIndex = -1
|
||||||
}
|
}
|
||||||
|
|
||||||
fun refresh() {
|
fun refresh(): Boolean {
|
||||||
getDbSearchBooks().let {
|
getDbSearchBooks().let {
|
||||||
searchBooks.clear()
|
searchBooks.clear()
|
||||||
searchBooks.addAll(it)
|
searchBooks.addAll(it)
|
||||||
searchCallback?.upAdapter()
|
searchCallback?.upAdapter()
|
||||||
}
|
}
|
||||||
|
return searchBooks.isEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user