Releases: XiaochangXu/HeartRateMonitor-composeui
Releases · XiaochangXu/HeartRateMonitor-composeui
Release list
v4.5
Android
- 修复断开蓝牙后快速重连首页心率卡片仍显示上次断开时的旧数据
- 修复连接成功后心率不显示的问题,此前若心率订阅失败(如手表开启广播的时机较晚或者有些设备可以先搜索连接再开启心率广播),App 会一直显示"已连接"但首页/悬浮窗心率停在 "--",只能断开重连。现在订阅失败会自动重试,无需手动重连
- 修复连接不稳定/被意外打断,此前切换连接设备时,旧设备的自动重连逻辑可能打断新连接,现在用户发起新连接后,旧任务自动放弃重连
- 修复单个异常导致页面数据全部停更,此前任一数据源出错,首页心率、连接状态、扫描列表会一起停止刷新。,现在各数据通道互相隔离,单个出错不影响其他
- 修复悬浮窗/状态栏重复订阅
- 修复服务被系统重建后不再叠加重复数据收集
- 优化多语言支持
Windows
- 修复设备名显示为"未知设备"
- 修复选中设备后连接按钮无法点击
- 修复关闭应用窗口后进程残留
- 新增扫描1分钟秒自动停止并提示
- 新增连接成功自动停止扫描
- 新增扫描进度指示条
- 新增设备信号强度显示
- 新增断开后自动重连
- 新增自动连接上一次连接过的设备
- 新增检查更新(Gitee)
- 启动时在后台持续扫描蓝牙,提升首次扫描速度,连接后自动关闭扫描
- 优化BLE Watcher 常驻复用,提升首次扫描速度
- 优化名称补查并发限流
- 优化RSSI 更新节流,减少 UI 抖动
- 优化悬浮窗心跳动画帧率 30fps → 60fps
v4.4
Android
- 优化局域网传输页面连接状态展示
- 移除独立的「已连接:COMPUTER」WiFi 圆角卡片
- 连接/断开状态合并至电脑图标卡片内统一显示
- 未连接时显示「未发现电脑设备,请确认电脑端已启动并处于同一局域网」
- 已连接时显示「已连接电脑设备」并切换为高亮配色
- 新增右上角「断开连接」按钮
- 修复连接状态不准确的问题
- 改用 WebSocket 服务器真实客户端连接数记录连接状态
- 修复退出应用后重新进入仍显示「已连接」的问题
- 修复返回设置页再进入局域网传输页连接状态丢失的问题
- 修复电脑端关闭/退出后手机端仍显示已连接的问题
- 修复已连接时扫描进度指示器持续转圈的问题
- 修复已连接时下方设备卡片未隐藏的问题
- 修复断开连接后残留显示及设备卡片的问题
- 手动断开、电脑端主动关闭/退出均自动清空设备列表
- 断开连接按钮图标统一颜色
Windows
- 新增单实例保护,防重复开启导致端口抢占
- 配对端口被占用时自动引导换用可用端口,配对服务启动失败时不再广播
- 修复重启后误报"端口被占用"的问题
- 窗口圆角固定为 8px
- 外观设置新增背景效果
- 支持云母 / 亚克力二选一切换
- 清空列表后重新扫描,旧设备不再丢失
- 连接异常时不再卡死"连接中"
- 连接后可正常点击"断开"
- 修复心率数据解析越界可能导致的崩溃
- 连接失败资源及时释放
- 连接成功后状态栏文案不再残留"连接失败"
- 发布包改为最高压缩
- 应用图标全面更换
- 修复断开连接后悬浮窗数据不清空
- 升级至.NET 10
v4.3
更新日志
- AGP插件升级至9.3.1
- 优化设置页面布局
- 增加搜索设备时的动画
- 增加局域网传输功能
- 允许明文传输
v4.2
最终版本
- 引入AndroidLiquidGlass库和Capsule库
- 底部tab方案修改为HorizontalPager
- 实现液态玻璃效果,支持G2圆角
- 优化vico图表
- 重构ui
v4.1
更新日志
- 优化性能,完善细节
- room升级至3.0.0
- kable升级至0.44.3
- coreKtx升级至1.19.0
- savedstate升级至1.5.0
- fragmentKtx升级至1.8.9
- activityCompose升级至1.13.0
- navigationCompose升级至2.9.8
v4.0
更新日志
- 修复 Android 8.0(API 26)以下设备启动时因 NotificationChannel 类不存在导致的 NoClassDefFoundError 闪退问题。
- 为 BleService 、 HeartRateAlarmService 、 StatusBarResidentService 中的通知渠道创建添加 Build.VERSION.SDK_INT >= Build.VERSION_CODES.O 版本判断。
v3.9
v3.8
更新日志
- 将registerReceiver调用全部统一为ContextCompat.registerReceiver,不再有手动的if-else版本兼容判断。
- Unify registerReceiver calls to ContextCompat.registerReceiver, no longer manual if-else version compatibility determination.
v3.7
更新日志
- 优化性能,减少重组,完善细节
- Optimize performance, reduce restructuring, improve detail