0
Fork 0
mirror of https://github.com/Silent1566/webhtv.git synced 2026-10-02 06:16:35 +00:00

fix(mobile): 统一深色语义表使设置页文字颜色一致

mobile flavor 的 values/webhtv_tokens.xml 编译的是亮色表,而 BaseActivity 为每个
Activity 插入全屏 CustomWallView 使页面背景始终为深色壁纸,导致 ?attr/colorOnSurface
解析为近黑 #1A1C1E,工具栏标题与矢量图标却仍是硬编码白色,同一页面两种文字色。

改为与 leanback flavor 及 main/res/values-night 逐字节同值的深色表,两个 flavor 由此
对称:前景角色统一为亮色,夜间与非夜间模式解析同一张表。

新增守门测试断言 mobile/leanback/night 三张表颜色值一致且等于深色表,防止未来只把
单个 flavor 改回亮色。设备实测:13 行文案像素全部为 #E2E2E9,与标题一致。

Verification: mobile 统一深色语义表修复设置页半黑半白。目的:设置页部分文字为亮色(标题/返回箭头/图标硬编码 white)而部分为近黑(?attr/colorOnSurface),同一页两种文字色不协调。根因:BaseActivity 为每个 mobile Activity 在 content 下插入全屏 CustomWallView,内置壁纸全部为深色,页面背景实际是壁纸而非 webhtv_color_surface;但 mobile flavor 的 values/webhtv_tokens.xml 仍是亮色表(main/res/values 的 #1A1C1E),而 leanback flavor 的 values/ 直接编译深色表故无此缺陷。修复:app/src/mobile/res/values/webhtv_tokens.xml 改为与 leanback 及 main/res/values-night 逐字节同值的深色表。单元验证::app:testMobileArm64_v8aDebugUnitTest ThemeBaseWiringTest 7/7 通过(含新增守门测试 bothFlavoursCompileTheSameDarkTableAsTheNightPalette)、ThemeContractTest 5/5 通过;反向验证把 mobile tokens 换回亮色表时新守门测试 FAILED(18s) 证明断言有效。设备验证:dev3 192.168.50.3:5559,mobile arm64 debug 经 scripts/build_arm64_debug_install.sh 覆盖安装,uimode night=no,冷启动进入设置页;uiautomator dump 13 行文案完整无崩溃,像素采样全部文字/值/图标为 #E2E2E9(亮度228.3) 与标题一致,修复前 '点播''薰衣水晶' 等为 #1A1C1E(亮度28)。

Task-Guard: MOBILE-DARK-TOKENS-20260928
This commit is contained in:
Silent1566 2026-09-28 12:04:47 +08:00
commit a6a470c2fa
2 changed files with 117 additions and 0 deletions