mirror of
https://github.com/Silent1566/webhtv.git
synced 2026-10-18 07:09:16 +00:00
fix(mobile): 设置页内联错误改用错误色与实心深底,成功刷新时完全复位
设计文档 §9.9 要求错误态有「错误色」。手机端两个设置页(SettingEnhanceFragment、 SettingAdFragment)的 setError 与电视端此前逐字相同——只改文案不改颜色, 于是「配置取得失败」这行字与正常取值用的是同一个颜色,用户看不出这一行是失败的。 根因与电视端同款,且这两个 Fragment 的 safeSet/safeRun/setError 三段结构与 「取值摘要复用同一个 TextView」的形态都与电视端 Activity 完全一致,所以 TV-6 的修法 可以直接移植,不需要重新设计。 为什么不需要重新实测对比度:电视端的结论是错误色直接画在行色带上只有 4.05-4.50:1 (略低于正文门槛),换上**实心**深底 #4A3438 后为 8.84:1。底材是实心色而不是半透明, 对比度只由这两个确定值决定、与下层底材和 flavor 都无关,所以手机端直接成立。 - shape_error_value.xml 由 leanback/res/drawable 迁到 main/res/drawable: 两个 flavor 共用同一份实心底材,避免出现内容相同的副本(电视端引用照旧解析得到); - 两个 Fragment:setError 改用 ?attr/webhtvColorOnWallpaperError 并换上该底材; 新增 setSummary 在写摘要时复位颜色与底材;safeSet 改走 setSummary; 两个文件里全部直接的取值 setText(Enhance 7 处、Ad 1 处)也改走 setSummary, 否则这些行失败一次后会一直保持红字加深底; - 新增 testMobile 的 MobileSettingsErrorContractTest 5 项,其中一项专门钉住 「没有绕过复位的直接 setText」,另一项钉住「取值 TextView 在布局里原本无背景」 这个复位安全的前提(已逐个核对两个布局的 23+5=28 个取值 TextView)。 验证:testMobile 定向测试 BUILD SUCCESSFUL(新增 5 项全绿);因迁移了一份 drawable, 额外跑了电视端回归 BUILD SUCCESSFUL;两个 flavor 均 assemble 成功; 在 5561 上装 mobile flavor 实测「增强功能」页全部取值正常显示为常规次级色、 没有一行卡在错误色,确认 themeColor() 在 Fragment 里解析正确、setSummary 无回归。 未验证:错误底材的实际观感(要触发设置页内联错误需让某个设置项读取抛异常, 没有构造出该场景,与电视端 TV-6 同一限制),详见文档 §6.4。 环境限制:本会话无可用 bash,check_ui_tokens.sh 与 task_guard.sh 无法执行, 按同等意图手工暂存/提交/打 tag。
This commit is contained in:
parent
72e817d1ac
commit
615de468ac
6 changed files with 382 additions and 38 deletions
Loading…
Add table
Add a link
Reference in a new issue