mirror of
https://github.com/Silent1566/webhtv.git
synced 2026-10-18 07:09:16 +00:00
feat(mobile): 手机端空态补齐三件套、加载指示器语义化,收藏页删空不再留空白
手机端与电视端同款问题,只是晚了一批处理。设计文档 §9.9 要求空态是「标题 + 解释 + 一个主动作」并明确「不能只显示一句暂无数据」,§6.2 又把空态列入 Display 档 (手机 32-40sp);而手机端 view_empty.xml 只有一句 16sp 的 error_empty, 解释与动作两个槽位(TV-4 为编译所需补的)默认 GONE 且没有任何宿主接入。 根因:手机端从未按这两条规格实现状态层,ProgressLayout 提供的 setEmptyContent / showError 两个接口在手机端一个都没被调用过。 - view_empty.xml:标题 16sp -> 32sp(手机 Display 档);主动作由裸 TextView 改为 MaterialButton + Widget.WebHTV.Button.Tonal; - view_progress.xml:indicatorColor 由 @color/white 改为 ?attr/webhtvColorOnWallpaper; - KeepActivity:接入三件套(还没有收藏 / 在任意详情页按收藏… / 去点播); onItemDelete 补 showContent(true, count),修掉与电视端同款的「删空不驱动状态机」缺陷; loadConfig 失败进入错误态(原因取服务端 message,重试复用同一条路径),保留原吐司; - 新增 testMobile 的 MobileStateSurfaceContractTest 8 项,与电视端契约同构。 实机验证时发现并修掉一个缺陷:主动作原本只是一个带 clickable 的 TextView, 渲染出来与旁边的解释文字没有区别、看不出可以点(手机是触摸交互,没有容器就没有 可点的暗示)。改用应用自己的语义按钮样式后是一枚浅色胶囊。 验证:testMobile 定向测试 BUILD SUCCESSFUL(新增 8 项全绿);既有手机端 theme 与 activity 测试 BUILD SUCCESSFUL;assembleMobileArm64_v8aDebug BUILD SUCCESSFUL; 在 5561 上装 mobile flavor 实测空态渲染与接线安全(无崩溃),随后已把电视端 flavor 装回。 诚实说明:本会话没有手机形态的设备(5561 是电视形态模拟器,5557 是用户真机不可用), 因此 32sp 标题与 320dp 解释换行宽度在真实手机上的观感没有实测;删除路径与错误态走的是 电视端已端到端验证过的同一套 ProgressLayout,本批只新增调用点,由契约测试覆盖。 详见 docs/MOBILE-STATE-SURFACE-20261013.md §6.5。 环境限制:本会话无可用 bash,check_ui_tokens.sh 与 task_guard.sh 无法执行, 按同等意图手工暂存/提交/打 tag。
This commit is contained in:
parent
e939250ac1
commit
46f0d5560d
5 changed files with 358 additions and 17 deletions
Loading…
Add table
Add a link
Reference in a new issue