dongliang
|
bb489140f8
|
feat: 引入 Conscrypt 解决 Android 8.1 TLS 握手失败
设备系统 conscrypt 版本过旧,连阿里云 OSS 的 HTTPS 握手被 reset。
引入 org.conscrypt:conscrypt-android:2.5.2 作为首选安全提供者,
在 Application.onCreate 中注册,所有网络请求自动使用现代 TLS。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 13:04:55 +09:30 |
|
dongliang
|
9f7a0a5c1e
|
feat: 电量变化时上报设备状态到服务端
之前 reportDeviceStatus 接口只定义未调用,手机端无法获取实时电量
现在电量变化 >=5% 时自动调用 setWatchStatusByImeiFormWatch 上报
去抖防止频繁请求
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 12:56:20 +09:30 |
|
dongliang
|
9b0d44d8da
|
fix: 待打卡地点块移到备注/语音/图片上方
XML 中 blockGoWhere 和 blockNoScene 从底部移到 tvNote 前面
去掉已不用的 blockHowTo(蓝色指引块)
现在布局顺序:任务名→地点指引→备注→语音→图片
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 12:47:16 +09:30 |
|
dongliang
|
39d7fc8b66
|
feat: 大图查看支持左右滑动切换图片
- 传入所有图片 URL 列表和起始索引
- 左滑下一张,右滑上一张
- 底部显示页码指示 1/3
- 单击关闭
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 12:40:30 +09:30 |
|
dongliang
|
89602070ae
|
fix: 大图查看改用 decorView 顶层覆盖
dialog_container 可能被 NavHostFragment 遮挡导致不可见
改为直接添加到 Activity 的 decorView,确保在最顶层
背景改为纯黑(全屏查看更清晰)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 12:35:38 +09:30 |
|
dongliang
|
43e61ffb70
|
feat: 任务推送增加语音提示(newMessage.mp3)
planId=2 新消息方案加上 audioResId = R.raw.new_message
和旧版一致,推送新任务时震动+播放语音提示
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 12:33:05 +09:30 |
|
dongliang
|
caa38c53d8
|
fix: 图片点击放大修复(clickable + 关闭事件)
- 缩略图加 isClickable/isFocusable 防止被 ScrollView 拦截
- 全屏大图的 overlay 和 imageView 都设点击关闭
- 加日志确认 showFullImage 被触发
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 12:27:49 +09:30 |
|
dongliang
|
cacbdb6aaa
|
fix: 图片和语音改用 HttpURLConnection 下载
OkHttp 在该设备连 OSS 的 HTTPS/HTTP 都被 reset。
改用系统 HttpURLConnection(走系统 TLS 栈,可能支持不同 cipher suite)。
图片和语音统一使用原始 HTTPS URL。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 12:23:54 +09:30 |
|
dongliang
|
77619a5300
|
feat: 图片支持横向滚动显示所有+点击放大全屏
- 去掉3张限制,HorizontalScrollView 横向滚动展示所有图片
- 缩略图 80dp 正方形,超出可滑动查看
- 点击缩略图全屏放大查看(FIT_CENTER),点击关闭
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 12:14:01 +09:30 |
|
dongliang
|
49732ac79a
|
feat: 用户上报任务显示图片附件
- 新建 PicItem 数据类,uploadPic 改为强类型
- 布局加 picContainer 横排展示区
- showPictures 方法:最多3张缩略图横排,HTTP 加载
- 三个状态页面都显示图片(和语音同级)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 12:04:26 +09:30 |
|
dongliang
|
1b198e0941
|
fix: 语音下载改用 HTTP 绕过 OSS TLS 兼容问题
阿里云 OSS 的 HTTPS 在 Android 8.1 conscrypt 下 TLS 握手被 reset
OSS 同时支持 HTTP,降级为 HTTP 下载即可
使用独立的无拦截器 OkHttpClient 避免签名干扰
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 11:46:53 +09:30 |
|
dongliang
|
18a1fc58a6
|
fix: 语音下载复用应用 OkHttpClient 解决 SSL 握手失败
新建的 OkHttpClient 没有 TLS 配置,在 Android 8.1 设备连阿里云
OSS 时 SSL handshake 被 reset。改为注入应用已配置的 OkHttpClient
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 11:42:35 +09:30 |
|
dongliang
|
bf869b4643
|
fix: 待打卡布局优化,地点提到最前防超屏
- 去掉蓝色指引块(和按钮文字重复)
- 时间合入橙色地点块副文本
- 有场景时不单独显示 tvTimeInfo,省一行空间
- 备注和语音移到指引块后面(次要信息)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 11:31:50 +09:30 |
|
dongliang
|
f22f7b7f0f
|
fix: 语音改用 OkHttp 下载后本地播放
MediaPlayer 内置 HTTP 在 Android 8.1 设备请求 HTTPS 失败
(NuCachedSource2 error -1)。改为 OkHttp 先下载到缓存再播放
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 11:18:09 +09:30 |
|
dongliang
|
b9d50e3c31
|
fix: 语音播放修复(AudioAttributes + clickable + 日志)
- 设置 AudioAttributes(CONTENT_TYPE_SPEECH)确保音频输出正确
- 按钮加 clickable/focusable 防止被 ScrollView 手势拦截
- 添加播放日志便于排查
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 11:03:30 +09:30 |
|
dongliang
|
9b39daf4ad
|
style: 返回按钮改用 iconfont 图标,和 NavBar 风格统一
用 \ue6bd 返回图标替代文字符号,白色 28sp,64×56dp 触摸区
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-07 10:26:13 +09:30 |
|
dongliang
|
841bf87dc5
|
fix: 返回按钮加大触摸区域和视觉醒目度
- 高度从 match_parent 改为固定 56dp
- 字号 27sp→32sp 加粗,符号 ‹→< 更醒目
- 标题栏上内边距 16→8dp 节省空间
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 21:30:08 +09:30 |
|
dongliang
|
1eb32409a8
|
fix: 时间只显示要求/截止一个,去掉派单时间和巡检时段
三个页面统一只显示一行时间:优先要求完成时间,没有则截止时间
删除 showInspectTime 方法
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 21:22:44 +09:30 |
|
dongliang
|
7b3a3ae276
|
fix: 要求/截止时间只显示一个,优先要求完成时间
有 preFinishTime 显示"要求: 05.06 16:05",没有则显示"截止: xx"
去掉多余的"完成"后缀
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 21:17:23 +09:30 |
|
dongliang
|
d5cdcc8186
|
style: 语音按钮视觉优化
- 背景改为橙色半透明+边框,和指引块风格统一
- 宽度 match_parent,内含声波图标+语音描述+时长
- 播放中切换背景高亮+停止图标,停止后恢复
- 新增 bg_btn_voice_playing.xml 播放状态背景
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 20:52:09 +09:30 |
|
dongliang
|
2e7edc7e09
|
fix: 语音按钮圆角改用 radius 兼容 API 27+
topStartRadius 等属性需要 API 31,改为统一 radius=24dp
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 20:47:52 +09:30 |
|
dongliang
|
75cbb831c5
|
feat: 任务页面布局优化(接单池防挑选+截止时间+巡检引导+语音播放)
1. 接单池改名"新任务"、隐藏积分和页码(防止用户挑肥拣瘦)
2. 待打卡/待完成页面增加截止时间显示
3. 巡检场景三层视觉:已打卡绿色+时间、下一个橙色高亮、后续灰色弱化
4. 巡检场景超屏自动滚动到当前进度
5. 用户上报任务支持语音播放(橙色药丸按钮)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 20:46:16 +09:30 |
|
dongliang
|
2d83986150
|
fix: 巡检任务全部打完→按钮禁用 + 详情页重定向列表页
1. TaskListFragment: 巡检 status=4 检查 allChecked
- 全部完成 → 灰色"已全部打卡"(禁用)
- 未完成 → 橙色"开启打卡"
2. TaskDetailFragment: type=5 跳转 TaskListFragment
(列表页有完整场景清单支持)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 18:58:37 +09:30 |
|
dongliang
|
9cde177bca
|
fix: 巡检场景清单字体放大 22→28sp
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 18:09:36 +09:30 |
|
dongliang
|
a0c0e74dda
|
fix: 巡检时段拆为开始/结束两行,格式与派单/截止统一
巡检: 09:00~18:00 → 开始: 09:00
结束: 18:00
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 18:02:55 +09:30 |
|
dongliang
|
777c867711
|
fix: 返回键区域最大化(左padding去掉+宽度48→64dp)
导航栏左侧 paddingStart 21→0dp,返回键宽度 48→64dp。
点击区域从屏幕最左边开始,高度撑满导航栏。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 17:56:55 +09:30 |
|
dongliang
|
689a7c80aa
|
fix: 卡片图标改为统一文字标签(去掉emoji对齐问题)
emoji图标(📍🕐⏰📋🔍⭐📝)宽度不一致导致文字不对齐。
统一改为"标签: 内容"格式:
- 📍 → 地点:
- 🕐 → 派单:
- ⏰ → 截止:
- 📋 → 要求:
- 🔍 → 巡检:
- ⭐ → 积分:
- 📝 → 去掉(备注块已有绿色背景区分)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 17:49:09 +09:30 |
|
dongliang
|
d3bbf738f6
|
fix: 巡检时段去掉"巡检"二字防换行
🔍巡检09:00~18:00 → 🔍09:00~18:00
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 17:42:46 +09:30 |
|
dongliang
|
0941138a9f
|
feat: 巡检任务显示巡检时段
taskType=5 时在所有状态(待抢单/待打卡/进行中)显示
🔍巡检{executeTimeStart}~{executeTimeEnd}
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 17:36:26 +09:30 |
|
dongliang
|
48b88eaa4b
|
fix: 导航栏和底部按钮缩减高度
导航栏:paddingTop 27→16dp,paddingBottom 8→4dp
底部按钮:padding 15→10dp,字号 34→28sp
两个页面统一,为内容区腾出更多空间
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 17:28:15 +09:30 |
|
dongliang
|
d8f699a51f
|
fix: 导航栏恢复原始字号,返回键宽48dp高match_parent
导航栏标题/页码恢复 20sp(之前被批量放大到 24sp)。
返回键宽度 56→48dp,高度 match_parent 撑满导航栏,
点击区域最大化但不增加导航栏总高度。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 17:23:21 +09:30 |
|
dongliang
|
746ca346ec
|
fix: 返回按钮点击区域放大 32→56dp,字号 27→36sp
老年用户手指粗,32dp 触摸区太小容易点不到。
TaskListFragment + TaskDetailFragment 统一放大。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 17:15:19 +09:30 |
|
dongliang
|
1a6c2f2efc
|
feat: 任务卡片切换改为左右滑动
上下滑动留给内容滚动(长任务可下滑查看更多),
左右滑动切换任务卡片(左滑下一个,右滑上一个)。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 17:07:15 +09:30 |
|
dongliang
|
7dd659358d
|
fix: 备注图标 ⚠ → 📝
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 16:33:09 +09:30 |
|
dongliang
|
08bb5b268f
|
fix: 去掉派单/截止/要求时间的多余空格
🕐 2026-05-06 派单 → 🕐2026-05-06派单
⏰ 截止 2026-05-07 → ⏰截止2026-05-07
📋 要求 2026-05-07 完成 → 📋要求2026-05-07完成
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 16:30:41 +09:30 |
|
dongliang
|
05f5d5e098
|
fix: 灰色文字提亮 + 备注加图标
1. text_secondary 颜色 #999999 → #CCCCCC(深色背景上更清晰)
2. 备注文字前加 ⚠ 图标,提醒用户注意
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 16:26:33 +09:30 |
|
dongliang
|
1657ecd917
|
fix: 任务页面底部按钮字体放大 28/21→34sp
TaskListFragment 按钮 28→34sp,TaskDetailFragment 按钮 21→34sp。
统一加大加粗,老年用户更易识别。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 16:20:56 +09:30 |
|
dongliang
|
f1fe041486
|
fix: 任务卡片文字全面放大(+4sp)
地点 24→28sp,时间 22→26→30sp,积分 26→30sp,
备注/指引描述 20→24sp,指引标题 24→28sp。
标题 34sp 不变。老年用户适配。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 16:17:50 +09:30 |
|
dongliang
|
a7dd64f767
|
fix: NFC 打卡成功后恢复按钮 isEnabled=true
NFC 扫描前 btn.isEnabled=false,成功后刷新详情时按钮变为"完成任务"
但 isEnabled 仍为 false 导致点击无响应。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 16:03:55 +09:30 |
|
dongliang
|
eb5fdd2d5f
|
fix: QuTipDialog 图标和字体继续放大
图标区域 110→140dp,图标字号 50→65sp,标题 28→36sp,描述 20→24sp。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 15:55:40 +09:30 |
|
dongliang
|
3ab6a94676
|
refactor: 优化 QuTipDialog + 删除 ResultFlashView
QuTipDialog 优化:
- 图标区域放大 85→110dp,图标字号 38→50sp
- 加入淡入+缩放动画(OvershootInterpolator 回弹效果)
- 默认倒计时 3→2 秒
- 倒计时文字默认隐藏(showCountdown 参数控制)
- 简化调用:show(status, title) 即可,2秒后自动消失
NFC 打卡加回 QuTipDialog:
- 成功:绿色图标 + "打卡成功" + 2秒消失
- 失败:红色图标 + "打卡失败" + 错误信息
删除 ResultFlashView(方案不合适,统一用优化后的 QuTipDialog)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 15:40:07 +09:30 |
|
dongliang
|
1ef6824c5e
|
fix: ResultFlashView 去掉内层 visibility=gone(双重隐藏导致不显示)
activity_main.xml 的 ResultFlashView 已设 gone,内层布局不需要再设。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 15:12:07 +09:30 |
|
dongliang
|
7f6e9cf039
|
feat: ResultFlashView 操作结果指示器(Apple Watch 风格)
全屏深色遮罩 + 大圆圈图标,属性动画弹出+淡出,1.5秒自动消失。
- 成功:绿色圆圈 + ✓,OvershootInterpolator 回弹效果
- 失败:红色圆圈 + ✗
- 替代 QuTipDialog 用于 NFC 打卡和按钮操作的结果反馈
- 所有操作统一视觉风格
应用到:
- TaskDetailFragment NFC 打卡
- TaskListFragment NFC 打卡
- MainActivity 返回键主动打卡
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 14:25:57 +09:30 |
|
dongliang
|
306af795a6
|
refactor: NFC 打卡去掉弹窗,改为轻量按钮状态反馈
手表小屏上音效+震动已足够反馈结果,全屏弹窗多余。
- 成功:按钮显示"打卡成功"(绿色)1秒 → 刷新/返回
- 失败/超时:按钮恢复"开启打卡"(可重试)
- 去掉 QuTipDialog 调用
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 13:19:45 +09:30 |
|
dongliang
|
efac23f188
|
fix: 打卡失败弹窗 back=false→true,3秒后自动关闭
back=false 导致弹窗不自动消失。改为 back=true 与其他错误提示行为一致。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 13:10:27 +09:30 |
|
dongliang
|
f2fcbd7c6a
|
fix: TaskListFragment NFC 打卡 TODO 填充
TaskListFragment 有两处"开启打卡"按钮留的 TODO(普通任务+巡检任务),
补充为调用 nfcTaskManager.startTaskPunch()。
打卡成功后刷新当前任务详情。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 12:57:20 +09:30 |
|
dongliang
|
8009987920
|
fix: HomeFragment 监听 HomeRefresh 事件刷新统计
批量打卡成功后 emit HomeRefresh,但 HomeFragment 之前没有监听该事件,
导致首页统计数字不更新。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 12:52:25 +09:30 |
|
dongliang
|
ae899b3474
|
feat: NFC 打卡成功后 EventBus 通知刷新
- 单个打卡成功 → emit TaskListRefresh(列表页刷新)
- 批量打卡成功 → emit HomeRefresh(首页统计刷新)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 12:38:23 +09:30 |
|
dongliang
|
1df7981318
|
fix: NfcTaskManager 重写修复编译错误
之前 python 脚本修复乱码时破坏了文件结构(花括号错位导致
private 方法变成 local function)。完整重写文件。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 12:17:52 +09:30 |
|
dongliang
|
df1e80fe33
|
fix: NFC 互斥检查加 nfcController.isOpen()
考勤打卡(PunchViewModel)和任务打卡(NfcTaskManager)共用 NFC 硬件。
增加 nfcController.isOpen() 检查,防止两者同时操作 NFC。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-05-06 12:09:20 +09:30 |
|