This commit is contained in:
kunfei
2022-10-14 00:09:59 +08:00
parent 17aa1c4d96
commit d8d500e288
2 changed files with 31 additions and 6 deletions
@@ -14,6 +14,7 @@ import io.legado.app.databinding.DialogSearchScopeBinding
import io.legado.app.databinding.ItemCheckBoxBinding
import io.legado.app.databinding.ItemRadioButtonBinding
import io.legado.app.lib.theme.primaryColor
import io.legado.app.utils.applyTint
import io.legado.app.utils.setLayout
import io.legado.app.utils.viewbindingdelegate.viewBinding
import kotlinx.coroutines.Dispatchers.IO
@@ -24,8 +25,9 @@ class SearchScopeDialog : BaseDialogFragment(R.layout.dialog_search_scope) {
private val binding by viewBinding(DialogSearchScopeBinding::bind)
val callback: Callback get() = parentFragment as? Callback ?: activity as Callback
var groups = arrayListOf<String>()
var sources = arrayListOf<BookSource>()
var groups: List<String> = arrayListOf()
var sources: List<BookSource> = arrayListOf()
val adapter by lazy {
RecyclerAdapter()
@@ -39,14 +41,20 @@ class SearchScopeDialog : BaseDialogFragment(R.layout.dialog_search_scope) {
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
binding.toolBar.setBackgroundColor(primaryColor)
binding.recyclerView.adapter = adapter
initMenu()
initOtherView()
initData()
upData()
}
private fun initMenu() {
binding.toolBar.inflateMenu(R.menu.change_source)
binding.toolBar.menu.applyTint(requireContext())
}
private fun initOtherView() {
binding.rgScope.setOnCheckedChangeListener { _, _ ->
binding.rgScope.setOnCheckedChangeListener { group, checkedId ->
binding.toolBar.menu.findItem(R.id.menu_screen)?.isVisible = checkedId == R.id.rb_source
upData()
}
binding.tvCancel.setOnClickListener {
@@ -73,9 +81,11 @@ class SearchScopeDialog : BaseDialogFragment(R.layout.dialog_search_scope) {
private fun initData() {
launch {
withContext(IO) {
groups.addAll(appDb.bookSourceDao.allGroups)
sources.addAll(appDb.bookSourceDao.allEnabled)
groups = withContext(IO) {
appDb.bookSourceDao.allGroups
}
sources = withContext(IO) {
appDb.bookSourceDao.allEnabled
}
upData()
}