diff --git a/app/src/main/java/io/legado/app/ui/book/local/rule/TxtTocRuleActivity.kt b/app/src/main/java/io/legado/app/ui/book/local/rule/TxtTocRuleActivity.kt index 1bd891429..2e52efcbd 100644 --- a/app/src/main/java/io/legado/app/ui/book/local/rule/TxtTocRuleActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/local/rule/TxtTocRuleActivity.kt @@ -16,6 +16,7 @@ import io.legado.app.databinding.DialogEditTextBinding import io.legado.app.databinding.DialogTocRegexEditBinding import io.legado.app.lib.dialogs.alert import io.legado.app.lib.theme.primaryColor +import io.legado.app.ui.widget.SelectActionBar import io.legado.app.ui.widget.recycler.DragSelectTouchHelper import io.legado.app.ui.widget.recycler.ItemTouchCallback import io.legado.app.ui.widget.recycler.VerticalDivider @@ -28,7 +29,8 @@ import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch class TxtTocRuleActivity : VMBaseActivity(), - TxtTocRuleAdapter.CallBack { + TxtTocRuleAdapter.CallBack, + SelectActionBar.CallBack { override val viewModel: TxtTocRuleViewModel by viewModels() override val binding: ActivityTxtTocRuleBinding by viewBinding(ActivityTxtTocRuleBinding::inflate) @@ -39,6 +41,7 @@ class TxtTocRuleActivity : VMBaseActivity @@ -103,6 +111,18 @@ class TxtTocRuleActivity : VMBaseActivity(context), @@ -41,8 +44,21 @@ class TxtTocRuleAdapter(context: Context, private val callBack: CallBack) : item: TxtTocRule, payloads: MutableList ) { - binding.cbSource.text = item.name - binding.swtEnabled.isChecked = item.enable + binding.run { + val bundle = payloads.getOrNull(0) as? Bundle + if (bundle == null) { + root.setBackgroundColor(ColorUtils.withAlpha(context.backgroundColor, 0.5f)) + cbSource.text = item.name + swtEnabled.isChecked = item.enable + cbSource.isChecked = selected.contains(item) + } else { + bundle.keySet().map { + when (it) { + "selected" -> cbSource.isChecked = selected.contains(item) + } + } + } + } } override fun registerListener(holder: ItemViewHolder, binding: ItemTxtTocRuleBinding) { diff --git a/app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt b/app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt index 13a5a6653..5242e7e64 100644 --- a/app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt +++ b/app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt @@ -92,7 +92,7 @@ class RssSourceActivity : VMBaseActivity