Просмотр исходного кода

[优化] 我要睡觉了孩子们

HapeLee 9 месяцев назад
Родитель
Сommit
d05900b160

+ 50 - 6
.github/workflows/test.yml

@@ -167,7 +167,7 @@ jobs:
           echo "VersionName: $APP_VERSION_NAME"
           echo "VersionCode (Commit Number): $COMMIT_NUMBER"
           chmod +x gradlew
-            ./gradlew assemble${{ env.product }}Release
+          ./gradlew assemble${{ env.product }}Release
         env:
           COMMIT_NUMBER: ${{ env.COMMIT_NUMBER_VAL }}
           APP_VERSION_NAME: ${{ env.VERSIONL }}
@@ -264,7 +264,7 @@ jobs:
         with:
           fetch-depth: 0
 
-      # 1. 必须先下载 build 任务上传的 APK
+      # 1. 下载 build 任务上传的 APK
       - name: 下载所有 APK Artifacts
         uses: actions/download-artifact@v4
         with:
@@ -272,7 +272,7 @@ jobs:
           path: artifacts
           merge-multiple: true
 
-      # 2. 运行你写好的重命名逻辑(确保文件名符合 Release 要求)
+      # 2. 重命名逻辑
       - name: 整理并重命名 APK 文件
         id: organize_apks
         run: |
@@ -283,12 +283,56 @@ jobs:
           find artifacts -maxdepth 1 -type f -name '*armeabi-v7a.apk' -exec mv {} "artifacts/legado-${VERSIONL}-armeabi-v7a.apk" \;
           ls -l artifacts/
 
-      # 3. 获取日志 (保持你原来的步骤)
+      #
+      # 获取 Commit 记录并格式化为 Release Body
+      #
       - name: 获取 Commit 记录
         id: get_commits
-        # ... (此处省略你原来的脚本内容)
+        run: |
+          # prepare Job 中计算出的日志起点 Tag (LAST_TAG_FOR_LOG)
+          LAST_TAG="${{ needs.prepare.outputs.latest_tag }}"
+          
+          # 获取从上一个 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 <<EOF
+          ### 更新内容
+          
+          - 没有新的 Commit 记录.
+          EOF
+          )
+          else
+          RELEASE_BODY=$(cat <<EOF
+          ### 更新内容
+          
+          $COMMIT_LOG
+          EOF
+          )
+          fi
+          
+            # 设置 step 输出
+          echo "release_body<<EOF" >> $GITHUB_OUTPUT
+          echo "$RELEASE_BODY" >> $GITHUB_OUTPUT
+          echo "EOF" >> $GITHUB_OUTPUT
+          
+          echo "生成的 Release Body:"
+          echo "$RELEASE_BODY"
+
+      - name: 创建 Tag
+        run: |
+          # 检查 Tag 是否已存在,避免重复创建
+          if ! git tag -l ${{ needs.prepare.outputs.versionL }} | grep -q ${{ needs.prepare.outputs.versionL }}; then
+            git tag ${{ needs.prepare.outputs.versionL }} 
+            git push origin ${{ needs.prepare.outputs.versionL }}
+          else
+            echo "Tag ${{ needs.prepare.outputs.versionL }} 已存在,跳过创建。"
+          fi
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 
-      # 4. 创建 Release 并上传 (自动处理 Tag 和文件)
+      # 4. 创建 Release 并上传
       - name: 创建 GitHub Release 并上传文件
         uses: softprops/action-gh-release@v2
         with:

+ 13 - 0
app/src/main/java/io/legado/app/help/config/AppConfig.kt

@@ -53,14 +53,27 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
 
     var themeMode = appCtx.getPrefString(PreferKey.themeMode, "0")
     var AppTheme = appCtx.getPrefString(PreferKey.appTheme, "0")
+    var containerOpacity = appCtx.getPrefInt(PreferKey.containerOpacity, 100)
     var useDefaultCover = appCtx.getPrefBoolean(PreferKey.useDefaultCover, false)
     var optimizeRender = CanvasRecorderFactory.isSupport
             && appCtx.getPrefBoolean(PreferKey.optimizeRender, false)
     var recordLog = appCtx.getPrefBoolean(PreferKey.recordLog)
+    var webServiceAutoStart = appCtx.getPrefBoolean(PreferKey.webServiceAutoStart, false)
+
+    // -- lyc 版本特性 --
+    var adaptSpecialStyle = appCtx.getPrefBoolean(PreferKey.adaptSpecialStyle, true)
+    var useUnderline = appCtx.getPrefBoolean(PreferKey.useUnderline, false)
+
 
     override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
         when (key) {
 
+            PreferKey.adaptSpecialStyle -> adaptSpecialStyle =
+                appCtx.getPrefBoolean(PreferKey.adaptSpecialStyle, true)
+
+            PreferKey.useUnderline -> useUnderline =
+                appCtx.getPrefBoolean(PreferKey.useUnderline, false)
+
             PreferKey.appTheme -> {
                 AppTheme = appCtx.getPrefString(PreferKey.appTheme, "0")
             }

+ 0 - 5
app/src/main/res/values-zh-rCN/strings.xml

@@ -1380,9 +1380,4 @@
     <string name="read_aloud_preload_summary">%d</string>
     <string name="audio_cache_clean_time">音频缓存保留时间(分钟)</string>
     <string name="audio_cache_clean_time_summary">当前%d, 输入 0 代表退出即刻清理。</string>
-    <string name="web_service_auto_start">启动应用时打开Web服务</string>
-    <string name="read_aloud_preload">听书预加载数量</string>
-    <string name="read_aloud_preload_summary">%d</string>
-    <string name="audio_cache_clean_time">音频缓存保留时间(分钟)</string>
-    <string name="audio_cache_clean_time_summary">当前%d, 输入 0 代表退出即刻清理。</string>
 </resources>

+ 0 - 5
app/src/main/res/values/strings.xml

@@ -1385,9 +1385,4 @@
     <string name="read_aloud_preload_summary">%d</string>
     <string name="audio_cache_clean_time">音频缓存保留时间(分钟)</string>
     <string name="audio_cache_clean_time_summary">当前%d, 输入 0 代表退出即刻清理。</string>
-    <string name="web_service_auto_start">启动应用时打开Web服务</string>
-    <string name="read_aloud_preload">听书预加载数量</string>
-    <string name="read_aloud_preload_summary">%d</string>
-    <string name="audio_cache_clean_time">音频缓存保留时间(分钟)</string>
-    <string name="audio_cache_clean_time_summary">当前%d, 输入 0 代表退出即刻清理。</string>
 </resources>