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

fix(tv): 修复影视原生播放页简介不显示与当前集无高亮

影视原生(DIRECT)模式下两处缺陷:
1. 简介区不显示内容,必须点「简介」按钮弹窗才能看到全文。该模式下
   mTmdbUIAdapter 为 null、applyTmdbDetailFields() 永不运行,而简介节点
   @id/tmdbOverview 只在 TMDB 路径被写入,站源详情文本仅存于
   @id/content 的 tag(onContent() 弹窗读它),页面因此没有任何内联简介。
2. 当前播放的那一集没有高亮边框。选集芯片走 selector_video_item,其
   「当前播放」环是 state_activated 分支,而 EpisodeAdapter.bindTextView()
   只调 setSelected()(该 selector 的 selected 仅作跑马灯开关),从不调
   setActivated(),与手机版 EpisodeGridHolder 的行为不一致。

改动:
- 抽出 updateOverviewPreview() 作为简介区唯一写入点,setText(Vod) 在
  非 TMDB 模式调用它,点「简介」按钮改走 updateTmdbOverviewButton 的
  行数夹取,超出的部分省略号截断。
- 简介节点锚点由 @id/director 改为 @id/actor。RelativeLayout 的
  getRelatedView() 会把 GONE 锚点沿链上溯,因此 TMDB 模式(actor 被
  suppressTmdbNativeTextFields() 压成 GONE)仍落在导演行下方,DIRECT
  模式下则正确落在演员行下方,不再与演员行重叠。
- setVideoDetailsVisible() 一并收起简介区:沉浸音频/纯音频播放时它叠在
  播放器右侧,此前无内容所以未暴露,现在有文字了必须跟着收。
- EpisodeAdapter 抽出 applyTextActive(),同时设置 selected(跑马灯)与
  activated(当前集环),绑定与焦点回调共用。

Verification: 设备 192.168.50.3:5555 实测(detail_open_mode=2):简介区
内联显示「简介:十六年前,天下五分…」并省略号截断,简介按钮可见可点开;
E01 显示绿色当前环,焦点移到 E01 变白色焦点环、移到 E02 时 E01 绿环保持。
定向单测 VideoActivityDetailShellSourceTest 全通过;
assembleLeanbackArm64_v8aDebug BUILD SUCCESSFUL。

Verification: 设备 192.168.50.3:5555 实测(影视原生 detail_open_mode=2,debug 覆盖安装+数据恢复):简介区 tmdbOverview 内联显示并省略号截断、简介按钮可见且可点开弹窗;E01 当前集显示绿色当前环,焦点移到 E01 时为白色焦点环、焦点移到 E02 时 E01 绿环保持;定向单测 VideoActivityDetailShellSourceTest 全通过;assembleLeanbackArm64_v8aDebug BUILD SUCCESSFUL。全量回归 4250 项中 8 项失败经 git stash 复现确认为仓库既有 CRLF 源码扫描失败,与本次改动无关。

Task-Guard: FIX-DIRECT-EPISODE-OVERVIEW
This commit is contained in:
Silent1566 2026-10-16 16:05:20 +08:00
commit 2d4259ef7a
4 changed files with 136 additions and 24 deletions