This commit is contained in:
Horis
2023-05-31 23:56:04 +08:00
parent 4736556e24
commit 9c4a16a57f
2 changed files with 23 additions and 5 deletions
@@ -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()
} }
/** /**