mirror of
https://github.com/gedoor/legado.git
synced 2024-07-06 23:47:49 +08:00
优化
This commit is contained in:
parent
e5c2b9e180
commit
e53e0b7dbb
@ -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()
|
||||
}
|
||||
|
15
app/src/main/res/menu/book_search_scope.xml
Normal file
15
app/src/main/res/menu/book_search_scope.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_screen"
|
||||
android:title="@string/screen"
|
||||
android:icon="@drawable/ic_screen"
|
||||
android:visible="false"
|
||||
app:actionViewClass="androidx.appcompat.widget.SearchView"
|
||||
app:showAsAction="always"
|
||||
tools:ignore="AlwaysShowAction" />
|
||||
|
||||
</menu>
|
Loading…
Reference in New Issue
Block a user