docs: 同步 AGENTS.md — RTSP 自动重连 + 订阅请求移除

- 修正 video 包路径文件名为 RtspVideoPlayer.kt
- 新增 RTSP 自动重连(指数退避)条目
- 新增订阅请求移除条目

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-07-18 15:50:15 +08:00
parent 3225ab0922
commit dae40cc73c
2 changed files with 11 additions and 1 deletions
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MarkdownSettings">
<option name="previewPanelProviderInfo">
<ProviderInfo name="Compose (experimental)" className="com.intellij.markdown.compose.preview.ComposePanelProvider" />
</option>
</component>
</project>
+3 -1
View File
@@ -37,7 +37,7 @@ com.example.m20_gamepad/
│ ├── RobotConnection.kt # 连接状态机管理(连接/订阅/心跳/断线判定)
│ └── JoystickController.kt # 摇杆输入 → 协议指令映射
├── video/
│ └── RtspSurfaceView.kt # RTSP 视频流播放(SurfaceView 层
│ └── RtspVideoPlayer.kt # RTSP 视频流播放(ExoPlayer + Composable 包装
├── data/
│ ├── SettingsRepository.kt # 设置项读写(DataStore 封装)
│ └── AppSettings.kt # 配置数据类定义 + 默认值
@@ -217,6 +217,8 @@ gradlew installDebug
- [x] 状态上报闪烁修复:`_latestStatus` 改用合并策略(`prev.copy`),保留上次报告的非 null 字段,避免 4 个独立订阅交替覆盖导致状态栏/步态按钮闪烁
- [x] 电量显示稳定性优化:`StatusBar` 电量改用独立 `batteryStatus` StateFlow,不依赖 `status?.batteryStatus`
- [x] 休眠按钮状态约束:仅非站立状态(空闲/趴下/阻尼等)可切换休眠,站立/RL 控制时禁用
- [x] RTSP 自动重连:`RtspVideoPlayer` 播放失败后自动重试,指数退避(初始 1s,最大 30s,倍率 2),URL/解码器变化时重置退避状态;覆盖层显示重试次数和倒计时
- [x] 订阅请求移除:`ProtocolClient` 注释掉 `sendSubscriptionRequests()` 调用,不再在连接时主动订阅状态上报
### 待办