lvmeng and Claude Sonnet 4.6
72ecc8fcd6
fix(scale): 修复 RS485 多联秤地址 ≥ 10 时清零命令发送到错误设备的问题
...
- 新增 FixedSensorScale 继承 SensorScale,通过反射重写 zeroTwo/tareTwo
- 修复根因:SDK 将 int 地址直接拼接为十进制字符串再按十六进制解析,
导致地址 10 发送字节 0x10(=16号秤)而非 0x0A(=10号秤)
- 修复方式:String.format("%02X", address) 确保正确的十六进制编码
- Weigher2 替换 mSensorScale 字段类型为 FixedSensorScale
- WeightUtil.tareTwo 移除 isTaring 防重复逻辑,简化为直接调用 zeroTwo
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 14:58:27 +08:00
lvmeng
99d670390a
fix(scale): 解决称重设备清零功能问题
...
- 修复了ScaleServiceManager中的WeightUtil引用路径错误
- 添加了WebSocket服务器中设备ID验证失败的日志记录
- 修复了Weigher2中字符串比较的错误写法,使用equals方法替代==
- 更新了WeightUtil中清零操作的日志记录和异常处理机制
2026-04-20 10:01:05 +08:00
lvmeng
d3b69c4e46
fix(fragment): 修复 weightSnapshot key 因 Int 溢出导致主设备高亮失效的问题
...
将 snapshotKey 从 Int(address + hashCode*1000 易溢出)改为 String(deviceId#address),
避免不同设备的基准值互相覆盖,导致 delta 永远无法正确计算
2026-04-20 09:08:50 +08:00
lvmeng
193acff1e0
feat(activity): 为子设备 SlaveActivity 添加调料秤重量增加高亮提醒功能
...
检测本机秤稳定后重量增加超过10g,高亮对应格子(红底白字),15秒后自动恢复
2026-04-20 09:08:44 +08:00
lvmeng
87bf11454c
feat(fragment): 实现调料秤重量增加高亮提醒功能
...
主设备订阅 allScales StateFlow 检测所有子设备秤重量变化,
超过10g且秤稳定时高亮对应格子,15秒后自动恢复
2026-04-17 16:56:36 +08:00
lvmeng and Claude Sonnet 4.6
768bde79a1
feat(fragment): 新增调料选择弹窗并绑定格子点击交互
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 15:43:11 +08:00
lvmeng
c61b1c8ef7
feat(seasoning): 添加调料配置网格适配器功能
...
- 创建调料配置格子布局文件,仅显示调料名称
- 实现调料配置下层18格网格适配器,使用GridLayoutManager排列
- 实现调料配置上层22格网格适配器,使用FlexboxLayoutManager排列
- 添加不同行列的边距控制和字体大小自适应
- 实现按预设顺序更新数据的功能,空位用哨兵填充
- 预留点击回调接口,暂不处理点击事件
2026-04-17 14:23:57 +08:00
lvmeng
77df4a4d82
refactor(ui): 移除设备配置页面并重构调料配置界面
...
- 移除 DeviceConfigActivity 页面及相关 AndroidManifest 注册
- 将调料配置从单页网格改为上下两层 RecyclerView 结构
- 上层使用 FlexboxLayoutManager 显示 22 格调料位
- 下层使用 GridLayoutManager 显示 18 格调料位
- 更新存储工具类 SpTool 中烹饪模式的访问方式
- 修改首页和初始化页面中烹饪模式的读取逻辑
- 更新 WebSocket 客户端连接逻辑中的重复连接处理
2026-04-17 14:23:44 +08:00
lvmeng
c35572dc41
feat(setting): 添加调料配置功能并优化界面布局
...
- 在设置页面添加调料配置按钮和设备切换功能
- 将设备配置页面标题从"设备配置"改为"设备切换"
- 新增SeasoningConfigFragment调料配置片段
- 将秤数据监控按钮可见性从gone改为visible
- 优化collectFragment布局加载方式
- 在DeviceConfigActivity中添加调试日志输出
- 重构SettingActivity中的按钮样式管理逻辑
- 调整fragment列表顺序和点击事件处理
- 修改列表项高度以改善界面显示效果
- 注释掉DeviceConfigFragment中未使用的viewModel相关代码
2026-04-17 11:45:08 +08:00
lvmeng
1ca25e6a1d
fix(ui): 修复菜品清空图标显示和日志记录问题
...
- 将菜品清空图标从tools:src改为android:src以确保正常显示
- 在点击清空图标时添加菜品数据的JSON日志输出便于调试
- 移除isOriginalData状态重置避免影响菜品原始数据标记
2026-04-17 09:00:42 +08:00
lvmeng
7373ccacbb
feat(activity): 新增食材识别页面,重构识别流程并优化多设备布局适配
2026-04-16 18:05:46 +08:00
lvmeng
ad63639f66
refactor(dialog): 重构 CommonDialog 为链式调用 API,内置 title/content,全量替换旧调用方
2026-04-16 15:02:33 +08:00
lvmeng
c3f3b1215b
refactor(scale): 提取 Scale22/18GridAdapter 到 adapter 包,SlaveActivity 复用网格布局
2026-04-16 14:26:34 +08:00
lvmeng
cba5bda757
fix(scale): 子设备断线时从聚合器移除数据,修复列表不消失的问题
...
- ScaleWebSocketClient 新增 onDeviceDisconnected 回调,在 onFailure/onClosed 时触发
- ScaleServiceManager 绑定回调,断线时调用 aggregator.removeDevice() 清除缓存
- 重连成功后数据重新推送,UI 列表自动恢复
2026-04-16 13:52:11 +08:00
lvmeng
7fd2f02b87
feat(activity): 为 MasterScaleActivity 各秤格子新增清零点击事件,修复高频数据更新导致点击失效的问题
2026-04-16 13:45:39 +08:00
lvmeng
b775b20ff1
refactor(activity): 重构 MasterScaleActivity 多类型秤布局,新增 Scale22GridActivity
...
- MasterScaleActivity 使用 BaseMultiItemAdapter 支持4种 viewType(scale1/2/18/22)
- 内嵌 adapter 改用 BaseQuickAdapter + 自定义 VH,替换原 RecyclerView.Adapter
- 新增 Scale22GridActivity,使用 FlexboxLayoutManager 实现22格混合网格布局
- 新增 list_type_scale1/2/18/22.xml 及 list_item_scale22_row.xml 布局文件
- 删除废弃的 list_item_scale_data.xml
- 新增 flexbox 依赖,注册 Scale22GridActivity
2026-04-15 16:44:33 +08:00
lvmeng
5ac35a9cab
refactor(activity): 将 ScaleServiceManager.stop() 迁移至 InitActivity.onDestroy,优化18格子布局间距
2026-04-15 09:52:16 +08:00
lvmeng
94e49eb344
fix(scale): 修复 mDNS 抖动导致子设备永久无法重连的问题
2026-04-14 18:25:20 +08:00
lvmeng
69dc77f06e
refactor(activity): 优化 MasterScaleActivity 布局常量与显示逻辑
2026-04-14 16:12:28 +08:00
lvmeng
b69b8c10e8
feat(activity): 重构 MasterScaleActivity 秤数据网格布局,按设备号适配不同显示方案
2026-04-14 14:00:13 +08:00
lvmeng
0477fad57b
fix(activity): 修复 PrepareCookActivity 相机未就绪时触发拍照导致报错的问题
2026-04-14 10:29:38 +08:00
lvmeng and Claude Sonnet 4.6
da7b5b09a0
refactor(activity): 统一使用 onBackPressedDispatcher.addCallback 替代 onBackPressed
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-14 09:45:58 +08:00
lvmeng
f1ffc67b9b
refactor(dialog): 重构 FoodSearchDialog 和 SeasoningSearchDialog 继承 BottomSheetDialog
2026-04-14 09:17:10 +08:00
lvmeng
910759c99e
refactor(PrepareCookActivity): 优化菜品识别逻辑和代码结构
...
- 移除未使用的 Bitmap 和 PreviewView 导入
- 添加 abs 函数导入用于重量比较计算
- 新增 WEIGHT_CHANGE_VALUE 和 WEIGHT_RECOGNIZE_VALUE 常量定义
- 实现重量变化阈值检测,避免频繁识别拍照
- 添加 lastWeight 变量记录上次重量值
- 将菜品选择逻辑提取为独立回调函数 foodSelectCallback
- 重命名 onItemClick 为 onFoodItemClick 并添加注释
- 为多个方法添加 KDoc 注释说明功能
- 在拍照失败回调中显示错误提示
- 优化菜品识别条件判断逻辑
2026-04-14 09:01:15 +08:00
lvmeng
428852a07e
refactor(activity): 优化启动页网络检测逻辑,有网络时直接跳转并隐藏检测区域
2026-04-13 18:17:17 +08:00
lvmeng
96863e2078
feat(activity): 新增菜品识别功能,重构FoodRecognizeDialog并临时跳过调料配置检查
...
- 新增 FoodRecognizeDialog(继承 BottomSheetDialog),只初始化一次,暴露 loadData() 方法
- 新增 dialog_food_recognize.xml 布局(标题 + 2列 GridLayoutManager RecyclerView)
- PrepareCookActivity 集成相机初始化、拍照识别流程(重量稳定 ≥10g 时触发)
- PrepareCookActivity 新增 flCameraContainer(1dp 隐藏容器)用于相机预览绑定
- SelectDishActivity 临时注释 judgeDeviceConfig 逻辑,直接调用 block()
- 修正 GpioUtils/L/LightManager 包名为 com.shuwei.dish.match.utils
2026-04-13 17:31:31 +08:00
lvmeng
41036cdbf9
feat(layout): 更新主秤监控界面布局并启用PyTorch模型功能
...
- 将主秤监控界面从LinearLayout改为ConstraintLayout布局
- 添加返回按钮并实现点击关闭页面功能
- 在BaseApp中初始化ObjectBox数据库
- 启用PyTorch模型依赖库并移除注释代码
- 在CollectFragment中激活食物图像向量化功能
- 初始化FoodModule中的PyTorch模型
- 临时忽略assets下的.pt模型文件到.gitignore
2026-04-13 15:11:47 +08:00
lvmeng and Claude Sonnet 4.6
0d0fcd24b7
refactor(activity): 优化启动页跳转延迟及子设备页面稳定性,修复导航栏闪烁问题
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-13 14:31:29 +08:00
lvmeng
bb32ed84fe
refactor(device): 优化设备角色判断和串口配置逻辑
...
- 移除 Weigher2 的初始化代码从 InitActivity 到 BaseApp
- 将设备角色判断与串口配置逻辑合并到应用启动流程中
- 主设备配置为 /dev/ttyS7,子设备配置为 /dev/ttyS4
- 简化设备角色分配的条件判断逻辑
2026-04-13 09:40:28 +08:00
lvmeng
6a1a1f3c5c
feat(activity): 新增启动页网络检测功能,60秒倒计时后显示连接网络入口
2026-04-13 09:36:06 +08:00
lvmeng
9311d13b90
refactor(activity): 清理 InitActivity 中的注释代码,保留有效初始化逻辑
2026-04-13 09:08:05 +08:00
lvmeng
143d24923b
chore(global): 更新 .gitignore,忽略 .idea、.claude、app/debug、app/release 目录
2026-04-13 09:06:48 +08:00
lvmeng
9a77733d24
fix(scale): 修复主设备无法发现子设备及IP显示未知的问题
...
- UdpBroadcastReceiver 补充 socket.broadcast=true,修复广播包被内核丢弃
- MdnsDiscoveryManager 改为串行解析队列,修复多设备并发解析报 FAILURE_ALREADY_ACTIVE
- ScaleWebSocketServer 推送数据时动态填充本机 IP,解决子设备 IP 始终显示未知
2026-04-13 09:00:51 +08:00
lvmeng
c72d30e88a
feat(scale): 新增 UDP 广播兜底发现机制并恢复开机自启原始方案
...
- 新增 UdpBroadcastSender/UdpBroadcastReceiver,子设备定时广播,主设备监听,与 mDNS 互为备份
- 恢复 BootReceiver 为直接启动 Activity 的原始方式,删除 BootService
- 移除 InitActivity 开机自启相关 Window flags
- 移除 PyTorch 依赖,缩减安装包体积
- 删除仓库中的 release apk 和 pt 模型文件
2026-04-10 18:04:18 +08:00
lvmeng
904ccdbb06
feat(boot): 新增前台服务中转实现开机自启动
...
使用 BootService 前台服务绕过 Android 10+ 后台启动 Activity 限制,
通过 setFullScreenIntent 触发 InitActivity,兼容主从设备差异。
同时优化 MasterScaleActivity、SettingActivity 及相关布局。
2026-04-09 18:20:50 +08:00
lvmeng and Claude Sonnet 4.6
9ae0d709f2
fix(scale): 修复子设备IP收到数据后仍显示"未知"的问题
...
setDeviceIp 新增缓存回填逻辑:若设备已有缓存数据且 ip 为空,
立即用新 IP 更新所有相关条目并触发 StateFlow,
解决早期数据包在 IP 到达前入缓存导致 UI 无法更新的时序问题
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-08 18:19:07 +08:00
lvmeng and Claude Sonnet 4.6
34adc0fe56
fix(scale): 修复主从设备IP显示异常及RecyclerView滑动崩溃
...
- 新增 NetworkUtil 统一获取本机IP,兼容 Android 12+(ConnectivityManager)和低版本(WifiManager)
- 主设备IP改为实时读取,修复App启动时网络未就绪导致IP缓存为空的问题
- MasterScaleActivity/SlaveActivity 关闭RecyclerView默认ItemAnimator,消除高频刷新时的闪烁
- BaseActivity.hideSystemBars 加防重入标志,避免重复调用setDecorFitsSystemWindows触发布局重绘导致滑动崩溃
- 新增 CrashHandler,崩溃时记录日志并自动重启应用
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-08 18:09:41 +08:00
lvmeng and Claude Sonnet 4.6
29228b069b
feat(scale): 新增主从设备秤数据联网同步功能
...
- 新增 ScaleWebSocketServer/Client、ScaleDataAggregator、ScaleServiceManager 等秤服务模块
- 新增 MasterScaleActivity(主设备秤数据总览,按设备分组展示IP+秤列表)
- 新增 SlaveActivity(子设备专属页面,显示IP、主设备连接状态及本机秤数据)
- SlaveActivity 改为横屏,MasterScaleActivity 保持竖屏
- 子设备连接状态通过 WebSocket onOpen/onClose 回调实时更新
- GlobalData 新增 DeviceRole 枚举,BaseApp 启动时初始化角色并启动秤服务
- SettingActivity 新增设备角色展示和秤数据监控入口
- Weigher2 支持外部设置串口路径,适配不同硬件子设备
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-08 17:15:48 +08:00
lvmeng
d6a9c3562d
refactor(net): 优化API请求错误处理和基础组件功能
...
- 添加JsonSyntaxException异常处理,提供更友好的错误提示
- 修复API响应判断逻辑,移除不必要的空值检查
- 优化HttpException转换为ApiException时的数据解析
- 移除BaseActivity中废弃的launch方法和相关变量
- 重构BaseActivity中的权限请求和页面跳转回调机制
- 更新Loading对话框的显示方法,支持自定义消息和内容更新
- 修复CollectFragment中的语法错误和日志记录功能
- 优化DishSamplingActivity中的页面跳转实现方式
- 完善SettingActivity中的相机权限检查逻辑
2026-03-30 15:28:52 +08:00
lvmeng
28c7628321
提交昨天的修改:优化多个模块和UI效果
2026-03-17 13:42:09 +08:00
lvmeng
3cf9818dad
优化SettingActivity底部菜单按钮效果:选中状态显示白色字体和圆角下划线
2026-03-17 13:40:54 +08:00
lvmeng
c8eb2b8f24
ttyS4改为ttyS7,删除manifest中sharedUserId配置
2026-03-16 11:07:15 +08:00
lvmeng
795deae228
优化
2026-02-09 16:28:30 +08:00
lvmeng
873ae95c0b
优化
2026-02-06 17:31:52 +08:00
lvmeng
a4f3f9527c
优化
2026-02-05 15:06:45 +08:00
lvmeng
eaa1b1eb00
新接口调试
2026-01-30 18:01:07 +08:00
lvmeng
a4905e7226
新接口调试
2026-01-29 18:51:42 +08:00
lvmeng
3d28c5692a
重量显示优化
2025-10-10 17:59:47 +08:00
马增飞
6387d9a776
开机启动页面修改,搜索食材线上边距调整
2025-09-26 15:54:33 +08:00
lvmeng
0540879551
优化
2025-09-19 09:15:44 +08:00