0
Fork 0
mirror of https://github.com/Silent1566/webhtv.git synced 2026-10-18 07:09:16 +00:00

merge: 合并 origin/beta 最新代码(PR#441-#444)并复评修正 dev2 已提交未推送的 TV 弹层 chip 文字对比度改动

合并:git merge --no-commit --no-ff origin/beta(a8c0d6a5fe23418027c17ce7ee0e4e1ceb5b205e,
Merge pull request #444 from Silent1566/dev3),0 冲突;MERGE_HEAD 即 beta tip。
合并基点为 4913d6ff23d7d4fee56a35f1e0b2025ee7920061(C65 的文档提交)。

本轮 beta 侧有真实增量(22 提交 / 33 路径 / +2324 -77),来自 PR#441(dev2 上一轮)、
PR#442 与 PR#444(dev3 实验室遥控焦点)、PR#443(dev1 WorkManager 直启)以及硬解自动软解回落;
dev2 自身相对基点只有 2 路径。

零复活 / 零丢失(四层证据;用户明确要求远端已移除/回退的提交不得顺带提交上去):
1. 净差异:git diff --cached --name-status origin/beta 恰为 dev2 自身 2 路径。
2. beta 删除面:git diff --diff-filter=D --name-status 4913d6ff23 origin/beta 为空 => beta 未删任何路径。
3. 复活形态:git diff --cached --diff-filter=A --name-status origin/beta 为空 => 不存在把已删文件加回来。
4. 逐行交集:beta 侧 revert 提交删除行 ∩ dev2 新增行 = 5 行,全为样板(空行、/**、*、*/、})。
更强判据——补丁摘要相等:git diff --cached --binary origin/beta 与 git diff --binary 4913d6ff23
2137fffc5a 经 git hash-object --stdin 同为 d6802118fac46812e23a881ef07cd57342a24d6b,即合并结果
逐字节等于「beta tip + dev2 自身提交」,除自身 2 路径外没有引入、删除或改写任何一个字节;
文件数 5063 = 5063。本轮 beta 确有 1 个 revert(b2bb4a249b 撤回实验室弹窗按钮钉死到根目录的连线),
但它撤的是 beta 自己刚引入的内容,dev2 从未持有(自基点只改过 chip 两个文件),
故不存在「被回退内容又被顺带提交」的形态。

复评(2 轮):对象为 dev2 已提交未推送的 2137fffc5a「fix(tv): 弹层 chip 文字改为调色板无关常量,
修复深色主题下选中项白底白字」,改动集 2 路径:app/src/main/res/color/selector_dialog_glass_chip_text.xml
与 app/src/testMobile/java/com/fongmi/android/tv/ui/DialogGlassChipStyleTest.java。

第 1 轮(Standards + Spec 双轴)共 5 项发现,修复 4 项、记录不修 3 项:
- 修 A2:选择器注释声明覆盖「音轨/视轨/字幕/标题/弹幕」,但测试只断言 track/title,未断言确实使用
  共享选择器的 adapter_danmaku.xml。已补该断言;三个布局已逐一核实同时引用 chip 背景与文字选择器。
- 修 B+S1:旧断言 occurrences(text,"?attr/colorOnSurface")==6 被删除后,选择器的状态覆盖不再被任何
  断言钉住,且 text 沦为死变量。改为断言 withoutComments(text) 上恰有 6 个 <item,并逐一断言
  state_enabled=false / checked / activated / selected / focused 五个状态条目存在。state_activated
  正是 TV 持久选中态(TrackAdapter 用 setActivated 表达当前播放轨),删掉它会让选中 chip 回落到
  跟随调色板的默认白字、重现用户报告的缺陷,而原对比度守卫只查 checked 与默认态、抓不到。
- 修 C1:注释与测试 Javadoc 称浅色 onSurface 压常态 chip ≈1.79:1,按守卫自身 WCAG 公式复算为
  1.68:1,两处均订正;并注明三个比值口径是「不透明原始色对按 WCAG 2.x 相对亮度直接计算」,
  与常态态「半透明合成后实测 7.98-9.57:1」区分开。
- 记录不修 A1:守卫在 src/testMobile,testLeanbackArm64_v8aDebugUnitTest 不执行它。守卫是纯静态
  资源检查、按路径直读 leanback 布局,与 flavor 无关;本仓库惯例对任何改动同时跑两个 lane;
  src/testMobile 内本就有大量 TV 面守卫,移动文件会放大交付面且收益不抵成本。
- 记录不修 D1(范围外):selector_dialog_glass_button_tint.xml 用调色板跟随的 colorOutline(Variant)
  作 MaterialButton 的 backgroundTint,配两表恒为 #FFFFFF 的 webhtvColorOnWallpaper 白字,宿主是
  固定深靛玻璃,浅色默认态仅 1.70:1;该文件两侧都未改动,不在评审对象内,建议另开任务。
- 记录不修 S2:WCAG 助手在测试源集已重复 8+ 处(LeanbackForegroundContrastTest 等),属仓库既有
  惯例,抽公共工具需改动 9 个无关文件,违反范围规则。

第 2 轮通过:修复只改注释文字与测试断言,选择器 <selector> 主体的 6 个状态条目逐字节未变,无回归面。

评审记录见 docs/C69-beta-merge-review-dev2-20261014.md。

Verification: 合并 0 冲突且内容中性(补丁摘要相等 d6802118fac46812e23a881ef07cd57342a24d6b;文件数 5063=5063;零复活四层证据通过);定向单测 4 类 26 例 0 失败(修复后 chip 类 6/6);变异验证删除 state_activated 使 trackAndTitleSelectionsShareTheLightGlassFocusStyle 转红(6 tests completed, 1 failed),字节备份还原后 sha256 一致(2ae28d3c…)且重跑 6/6 全绿;check_ui_tokens.sh --strict 对比度 pairs=38 failures=0 min=4.28(2 处十六进制扫描违规均非本次引入:selector_lab_link.xml 为 beta 本轮新增、item_following.xml 为既有);git diff --cached --check EXIT=0

Task-Guard: C69-beta-merge-review-dev2-20261014
This commit is contained in:
Silent1566 2026-10-14 23:39:29 +08:00
commit b515bf11bb
36 changed files with 2497 additions and 81 deletions