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 },