From 14b7e8ecb39d8fb9a7748eb9cfc48e7a29ad0259 Mon Sep 17 00:00:00 2001 From: kunfei Date: Tue, 15 Feb 2022 14:11:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../legado/app/data/entities/ReplaceRule.kt | 8 +++++++ .../app/ui/replace/ReplaceRuleAdapter.kt | 24 +++++-------------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt b/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt index a81e165af..d6248a3f2 100644 --- a/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt +++ b/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt @@ -59,6 +59,14 @@ data class ReplaceRule( return id.hashCode() } + fun getDisplayNameGroup(): String { + return if (group.isNullOrBlank()) { + name + } else { + String.format("%s (%s)", name, group) + } + } + fun isValid(): Boolean { if (TextUtils.isEmpty(pattern)) { return false diff --git a/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleAdapter.kt b/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleAdapter.kt index c9f50d90a..26a3f2e7b 100644 --- a/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleAdapter.kt +++ b/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleAdapter.kt @@ -57,11 +57,10 @@ class ReplaceRuleAdapter(context: Context, var callBack: CallBack) : override fun getChangePayload(oldItem: ReplaceRule, newItem: ReplaceRule): Any? { val payload = Bundle() - if (oldItem.name != newItem.name) { - payload.putString("name", newItem.name) - } - if (oldItem.group != newItem.group) { - payload.putString("group", newItem.group) + if (oldItem.name != newItem.name + || oldItem.group != newItem.group + ) { + payload.putBoolean("upName", true) } if (oldItem.isEnabled != newItem.isEnabled) { payload.putBoolean("enabled", newItem.isEnabled) @@ -111,25 +110,14 @@ class ReplaceRuleAdapter(context: Context, var callBack: CallBack) : val bundle = payloads.getOrNull(0) as? Bundle if (bundle == null) { root.setBackgroundColor(ColorUtils.withAlpha(context.backgroundColor, 0.5f)) - if (item.group.isNullOrEmpty()) { - cbName.text = item.name - } else { - cbName.text = - String.format("%s (%s)", item.name, item.group) - } + cbName.text = item.getDisplayNameGroup() swtEnabled.isChecked = item.isEnabled cbName.isChecked = selected.contains(item) } else { bundle.keySet().map { when (it) { "selected" -> cbName.isChecked = selected.contains(item) - "name", "group" -> - if (item.group.isNullOrEmpty()) { - cbName.text = item.name - } else { - cbName.text = - String.format("%s (%s)", item.name, item.group) - } + "upName" -> cbName.text = item.getDisplayNameGroup() "enabled" -> swtEnabled.isChecked = item.isEnabled } }