fix(scale): 修复子设备重启后主设备看不到连接数据的问题,新增清除数据广播功能

- ScaleWebSocketClient:引入版本号机制防止 UDP 触发的新连接与指数退避重连任务并发建立两条连接;onFailure/onClosed 改用 remove(key, value) 原子操作,避免旧连接超时回调误删新连接引用
- ScaleWebSocketServer:新增 latestData 为空时延迟 3 秒补推机制,解决子设备刚重启时 WeightUtil 尚无读数导致主设备看不到数据的问题;新增 onClearData 回调处理清除数据事件;stop() 时同步关闭 scheduler
- ScaleEvent:新增 TYPE_CLEAR_DATA 事件类型
- ScaleServiceManager:新增 onClearData 属性和 sendClearData() 方法
- SlaveActivity:监听 onClearData 事件,收到后清空本机数据并重置 SP 状态;启动时预填空占位格子
- SettingActivity/DbViewModel/DbRepository:clearAllTestData 重命名为 clearAllData,清除完成后通知子设备并跳转 HomeActivity
- scale包架构分析.md:同步更新文档

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-08 15:48:59 +08:00
co-authored by Claude Sonnet 4.6
parent a0137d6979
commit 436de88d73
10 changed files with 147 additions and 31 deletions
+2 -2
View File
@@ -174,7 +174,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/llClearTestData"
android:id="@+id/llClearData"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_marginHorizontal="32dp"
@@ -191,7 +191,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_weight="1"
android:text="测试数据清除"
android:text="数据清除"
android:textColor="@color/black333"
android:textSize="32sp"
android:textStyle="bold" />