From 0b9ce9ddef04b4cdca1b6f1cf2daa7c1901fa270 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Tue, 3 Feb 2026 01:47:27 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=BA=86=E7=9B=AE=E5=BD=95=E8=A7=84=E5=88=99=E5=92=8C=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E8=A7=84=E5=88=99=E6=97=A0=E6=B3=95=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82=E6=B3=A8=E6=84=8F=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E8=A6=81=E5=9C=A8=E5=85=B6=E4=BB=96=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=9B=AE=E5=BD=95=E8=A7=84=E5=88=99=EF=BC=8C?= =?UTF-8?q?=E6=88=91=E8=BF=98=E6=B2=A1=E9=87=8D=E5=86=99=E9=82=A3=E4=BA=9B?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=EF=BC=8C=E5=85=88=E5=B0=86=E5=B0=B1=E4=B8=80?= =?UTF-8?q?=E4=B8=8B=E7=BD=A2=20#609?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test.yml | 38 ++++++++----------- .../app/ui/book/toc/rule/TxtRuleScreen.kt | 13 +++++-- .../app/ui/book/toc/rule/TxtTocRuleDialog.kt | 8 ++-- .../ui/book/toc/rule/TxtTocRuleViewModel.kt | 11 +++++- .../legado/app/ui/dict/rule/DictRuleScreen.kt | 6 ++- 5 files changed, 44 insertions(+), 32 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cdb924797..06ed177b2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -289,36 +289,30 @@ jobs: - name: 获取 Commit 记录 id: get_commits run: | - # prepare Job 中计算出的日志起点 Tag (LAST_TAG_FOR_LOG) LAST_TAG="${{ needs.prepare.outputs.latest_tag }}" + IS_RELEASE="${{ needs.prepare.outputs.is_release }}" - # 获取从上一个 Tag 到当前 HEAD 的所有 Commit 消息 - # --no-merges: 排除合并提交 COMMIT_LOG=$(git log "$LAST_TAG"..HEAD --pretty=format:"* %s" --no-merges) if [ -z "$COMMIT_LOG" ]; then - RELEASE_BODY=$(cat <> $GITHUB_OUTPUT - echo "$RELEASE_BODY" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - echo "生成的 Release Body:" - echo "$RELEASE_BODY" + { + echo "release_body<> $GITHUB_OUTPUT + + echo "Release Body 已生成。" - name: 创建 Tag run: | diff --git a/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtRuleScreen.kt b/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtRuleScreen.kt index 63221948d..3a52ddd21 100644 --- a/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtRuleScreen.kt +++ b/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtRuleScreen.kt @@ -212,15 +212,20 @@ fun TxtRuleScreen( if (showEditSheet) { RuleEditSheet( rule = editingRule, - title = stringResource(R.string.dict_rule), - label1 = stringResource(R.string.url_rule), - label2 = stringResource(R.string.show_rule), + title = stringResource(R.string.txt_toc_rule), + label1 = stringResource(R.string.regex), + label2 = stringResource(R.string.example), onDismissRequest = { showEditSheet = false editingRule = null }, onSave = { updatedRule -> - viewModel.update(updatedRule) + //TODO:我很想把他改为自增主键,但为了兼容性日后再说 + if (editingRule == null) { + viewModel.insert(updatedRule) + } else { + viewModel.update(updatedRule) + } showEditSheet = false editingRule = null }, diff --git a/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt b/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt index a6b765e76..26dd1caf7 100644 --- a/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt @@ -155,7 +155,7 @@ class TxtTocRuleDialog() : BaseDialogFragment(R.layout.dialog_toc_regex), } override fun saveTxtTocRule(txtTocRule: TxtTocRule) { - viewModel.update(txtTocRule) + //viewModel.update(txtTocRule) } @SuppressLint("InflateParams") @@ -280,7 +280,7 @@ class TxtTocRuleDialog() : BaseDialogFragment(R.layout.dialog_toc_regex), if (buttonView.isPressed) { getItem(holder.layoutPosition)?.let { it.enable = isChecked - viewModel.update(it) + //viewModel.update(it) } } } @@ -293,7 +293,7 @@ class TxtTocRuleDialog() : BaseDialogFragment(R.layout.dialog_toc_regex), setMessage(getString(R.string.sure_del) + "\n" + item.name) noButton() yesButton { - viewModel.delete(item) + //viewModel.delete(item) } } } @@ -315,7 +315,7 @@ class TxtTocRuleDialog() : BaseDialogFragment(R.layout.dialog_toc_regex), for ((index, item) in getItems().withIndex()) { item.serialNumber = index + 1 } - viewModel.update(*getItems().toTypedArray()) + //viewModel.update(*getItems().toTypedArray()) } isMoved = false } diff --git a/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleViewModel.kt b/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleViewModel.kt index cc7a2ecd3..a24b678ee 100644 --- a/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleViewModel.kt @@ -90,10 +90,19 @@ class TxtTocRuleViewModel( } } + fun save(rule: TxtTocRule) { + viewModelScope.launch { + if (rule.id == 0L) { + repository.insert(rule) + } else { + repository.update(rule) + } + } + } + fun update(vararg rules: TxtTocRule) = viewModelScope.launch { repository.update(*rules) } fun insert(vararg rules: TxtTocRule) = viewModelScope.launch { repository.insert(*rules) } fun delete(vararg rules: TxtTocRule) = viewModelScope.launch { repository.delete(*rules) } - fun enableSelectionByIds(ids: Set) = viewModelScope.launch { repository.enableByIds(ids, true) } diff --git a/app/src/main/java/io/legado/app/ui/dict/rule/DictRuleScreen.kt b/app/src/main/java/io/legado/app/ui/dict/rule/DictRuleScreen.kt index b47443652..7616ac554 100644 --- a/app/src/main/java/io/legado/app/ui/dict/rule/DictRuleScreen.kt +++ b/app/src/main/java/io/legado/app/ui/dict/rule/DictRuleScreen.kt @@ -220,7 +220,11 @@ fun DictRuleScreen( editingRule = null }, onSave = { updatedRule -> - viewModel.update(updatedRule) + if (editingRule == null) { + viewModel.insert(updatedRule) + } else { + viewModel.update(updatedRule) + } showEditSheet = false editingRule = null },