android: settings screen scrollable + wire dead rows (language/about) + instant orientation apply

This commit is contained in:
ZXCLI
2026-09-11 03:59:55 +08:00
parent f7bca894ba
commit 3704ee797b
8 changed files with 237 additions and 20 deletions
@@ -64,6 +64,9 @@
| 30 | 设置页"水平翻转"/"竖直翻转"开关 | (无日志) | 画面镜像;与官方 app 的同名设置表现一致 |
| 31 | 横屏持机时观察色标条 | (无日志) | 色标条**两端**的最高/最低温数字紧贴色条两端,**不与色条重叠**、不偏移 |
| 32 | 分析页打开一张 MDT,观察顶部温度条 | (无日志) | 温度条显示"中心/最低/最高",数值与拍照时实时页读数接近 |
| 33 | 设置页**从上往下滑动**,看能否滚到最底部("关于") | (无日志) | 页面可以滚动,**11 行设置项全部可达**(此前无滚动,下方几行点不到) |
| 34 | 设置页依次点每一行,确认都有反应 | 调色板/发射率/报警温度/语言/旋转USB画面/云同步/关于 → 弹对话框;水平翻转/竖直翻转 → 文案在"已开启/已关闭"间切换;远程预览服务端 → 切换或弹"先连接热像仪";远程预览客户端 → 进入主机列表 | **没有点了没反应的行**(此前"语言"和"关于"是死行) |
| 35 | 在**设置页**改"竖直翻转"或"旋转USB画面",然后切回实时页 | (无日志) | 画面**立即**按新设置显示(设置变更即时下发;此前靠实时页 400ms 轮询,仅在实时页处于打开状态时才生效) |
## 相机(PIP)失败时的表现(设计如此,不算 bug)
PIP 的相机是可选功能,任何相机异常都只记日志并关闭小窗,**不影响热像主画面**:
+14 -1
View File
@@ -495,7 +495,20 @@
主机实现"后来者写 busy"accept 循环不再阻塞在 serve 上,第二客户端立即
收到 `{"type":"busy"}`;新增 `secondClientIsRejectedWithBusy`)。
另删除未使用的 `ACCESS_NETWORK_STATE` 权限。
- [x] 单测 44 → **62 项全绿**debug + release(R8) 双构建通过;APK 已更新
- [x] **设置页翻不动 + 死行**(用户报"设置页选项翻不动"):
① 设置页 `Column` **缺 `verticalScroll`**11 行内容一屏放不下,下方几行
完全够不到 → 已加滚动;
② "语言"行点了没反应:`when(dialog)` 里根本没有 `"language"` 分支,
点击后落进 `else -> {}`;且该项**没有任何代码读取、也没有 i18n 资源**
(全部界面为中文字面量、无 strings.xml)→ 补上对话框并**如实说明"当前仅中文,
选择会被记录待后续翻译"**,不再假装能切语言;
③ "关于"行同样设 `dialog = null` 属死行 → 补上说明对话框;
**设置变更即时生效**:原先实时/远程页每 400ms 轮询 `AppSettings`,而该轮询
只在实时页处于组合状态时运行(在设置页改动后要切回实时页才生效)→ 新增
`ImageOrientationSettings`(进程级 StateFlow),`AppSettings` 三个方向
setter 写入后立即 publish,实时/远程页 collect 后即时应用。
新增 `ImageOrientationSettingsTest`4 项);单测 62 → **66 项全绿**
- [x] 单测 62 → **66 项全绿**debug + release(R8) 双构建通过;APK 已更新
12.66MB)。`screenOrientation=portrait` 复核保持、camera 系列仍
not-required、多余权限已消失。