mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
优化
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.toastOnUi
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.conflate
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -79,7 +80,7 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
||||
cancelButton()
|
||||
okButton {
|
||||
AppConfig.searchGroup = ""
|
||||
upGroupMenu()
|
||||
upGroupMenuName()
|
||||
viewModel.startSearch()
|
||||
}
|
||||
}
|
||||
@@ -248,9 +249,12 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
||||
} else {
|
||||
AppConfig.searchGroup = item.title.toString()
|
||||
}
|
||||
upGroupMenu()
|
||||
viewModel.startOrStopSearch()
|
||||
viewModel.refresh()
|
||||
upGroupMenuName()
|
||||
launch(IO) {
|
||||
if (viewModel.refresh()) {
|
||||
viewModel.startOrStopSearch()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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() {
|
||||
observeEvent<String>(EventBus.SOURCE_CHANGED) {
|
||||
adapter.notifyItemRangeChanged(
|
||||
|
||||
@@ -137,12 +137,13 @@ open class ChangeBookSourceViewModel(application: Application) : BaseViewModel(a
|
||||
searchIndex = -1
|
||||
}
|
||||
|
||||
fun refresh() {
|
||||
fun refresh(): Boolean {
|
||||
getDbSearchBooks().let {
|
||||
searchBooks.clear()
|
||||
searchBooks.addAll(it)
|
||||
searchCallback?.upAdapter()
|
||||
}
|
||||
return searchBooks.isEmpty()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user