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

chore(lint): 基线去掉 UnusedResources 并修掉 rebase 带进来的两个 error

为上游 PR 瘦身 lint 基线。UnusedResources 在旧基线里占 1223/1621 条、12218 行
(全文件 75%),几乎全是跟随上游时留下的资源,而 release 本来就开了精确资源压缩、
它们不会进 APK——盯着没有收益。关掉这一项后基线 17804 → 4660 行、1621 → 425 条,
剩下的都是真正值得盯的,新增问题照样报红。

重跑 updateLintBaselineAppDebug 时发现 lintAppDebug 在当前 HEAD 其实是红的:
上一个 rebase 提交只验了 compile + 单测 + verifyConfigArchitecture,没跑 lint,
两个 error 从上游合过来后一直漏在基线外——

- strings.xml:1360 `source_tab_web_view`(上游新增的 RSS 源编辑 WebView 页签)
  三个 zh locale 都没翻译。按兄弟项的两字风格补:简体「网页」,港台「網頁」。
- BookSourceEditViewModel.kt:211 `source.lastUpdateTime = ...` 比下一行浅一级,
  被 SuspiciousIndentation 判为「缩进但不是上一个表达式的延续」。这段错缩进
  upstream/main 里一模一样(我们那次只把 appDb 换成 repository),但上游不跑 lint
  所以没暴露。只把这一行对齐到该有的层级,upstream 的其余缩进原样不动。

按 1403ae6de 立的基线纪律:**修复而非扩基线**——这两个不进新基线。

顺带说明「1621 - 1223 ≠ 425」:旧基线是 74 个提交前建的,此后累积的告警级问题
(UseKtx、ModifierParameter、DefaultLocale 等约 30 条)一直漏在基线外。warning
不会让 lintAppDebug 变红,所以没人发现;这次重建把它们一并冻结了。

验证:lintAppDebug「no new issues」(30 个历史 error 仍由基线冻结)+ 481 单测
全绿 + verifyConfigArchitecture 全绿。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
5151561 3 месяцев назад
Родитель
Сommit
25d3f280d4

+ 4 - 0
app/build.gradle.kts

@@ -153,6 +153,10 @@ android {
     lint {
         baseline = file("lint-baseline.xml")
         checkDependencies = true
+        // UnusedResources 在基线里占 1223/1621 条、12218 行(全文件的 75%),几乎全是
+        // 跟随上游时留下的资源;release 本来就开了精确资源压缩,它们不会进 APK。
+        // 关掉它让基线只剩真正值得盯的那部分,新增问题照样报红。
+        disable += "UnusedResources"
     }
 
     testOptions {

Разница между файлами не показана из-за своего большого размера
+ 337 - 95
app/lint-baseline.xml


+ 1 - 1
app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditViewModel.kt

@@ -208,7 +208,7 @@ class BookSourceEditViewModel(
             }
                 val old = originalSource ?: BookSource()
                 if (!source.equal(old)) {
-                source.lastUpdateTime = System.currentTimeMillis()
+                    source.lastUpdateTime = System.currentTimeMillis()
                     if (old.exploreUrl != source.exploreUrl) old.clearExploreKindsCache()
                     if (old.jsLib != source.jsLib) SharedJsScope.remove(old.jsLib)
                 }

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

@@ -1300,6 +1300,7 @@
     <string name="clear_webview_data">清除 WebView 数据</string>
     <string name="clear_webview_data_summary">清除内置浏览器所有数据</string>
     <string name="source_tab_list">列表</string>
+    <string name="source_tab_web_view">网页</string>
     <string name="layout_type">布局</string>
     <string name="dict_rule">字典规则</string>
     <string name="config_dict_rule">配置字典规则</string>

+ 1 - 0
app/src/main/res/values-zh-rHK/strings.xml

@@ -1128,6 +1128,7 @@
     <string name="clear_webview_data">清除 WebView 数据</string>
     <string name="clear_webview_data_summary">清除内置浏览器所有数据</string>
     <string name="source_tab_list">列表</string>
+    <string name="source_tab_web_view">網頁</string>
     <string name="layout_type">布局</string>
     <string name="dict_rule">字典规则</string>
     <string name="config_dict_rule">配置字典规则</string>

+ 1 - 0
app/src/main/res/values-zh-rTW/strings.xml

@@ -1131,6 +1131,7 @@
     <string name="clear_webview_data">清除 WebView 数据</string>
     <string name="clear_webview_data_summary">清除内置浏览器所有数据</string>
     <string name="source_tab_list">列表</string>
+    <string name="source_tab_web_view">網頁</string>
     <string name="layout_type">布局</string>
     <string name="dict_rule">字典规则</string>
     <string name="config_dict_rule">配置字典规则</string>

Некоторые файлы не были показаны из-за большого количества измененных файлов