HyperEars v2.1.2
本版修复 MOONDROP Robin 模式指令已经生效、但卡片可能被过早回读的旧状态覆盖的问题。
修复
- Robin 模式设置成功后仍立即发布用户选择的目标状态;第一次回读尚未达到目标时,型号
Adapter 现在保留该乐观状态,并按500/700/900/1200 ms的有界序列继续执行只读模式
查询。耳机回报目标模式后立即结束确认;达到上限仍未切换时接受最后真实回报并自然矫正卡片。 - 后续确认只发送模式查询,不重复发送模式设置帧,避免重复控制和连续模式提示音。新的模式
请求会替换旧确认目标,私有通道重置时会清除尚未完成的型号临时状态。
架构与验证
- 保留单一
executeControl()、现有AdapterControlResult和统一FeatureStateChanged状态
链路;只增加默认空实现的控制接受与协议重置扩展点。其他 Adapter 继续直接接受合法观测,
不需要修改适配代码,也不会产生延迟查询任务。 - Robin 电量启动确认与模式写后确认共用按会话、稳定 key 去重的延迟遥测调度;接受条件、
查询间隔和次数上限均由型号 Adapter 管理,ProtocolSession 只负责编码只读查询。 - 增加旧状态暂缓、目标确认、查询上限回退、新控制替换、协议重置及模式单项查询测试;完整
integration 与 system-module 单元测试和 Release Kotlin 编译通过。