Commit Graph
20 Commits
Author SHA1 Message Date
cuiluzhengandClaude Code 5fe0d4a420 fix: 修正终审发现的详情页配色、空态与血压卡可点击等问题
- 详情页柱状图改用指标语义色(新增 MetricType→色板映射),此前恒定绿色
- 详情页无数据时渲染空态文案,不再画全 0 柱状图与三行 0.0
- 首页「未开启」指标卡不再可点击,与详情页内容保持一致
- 压力卡单位位显示等级文案(如「34 正常」),接上原先无人调用的 stressLevelLabelRes
- NavHost 补 consumeWindowInsets,避免详情页 TopAppBar 重复叠加状态栏内边距
- README 注明 installDebug 需要设备/模拟器

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-10 13:18:51 +08:00
cuiluzhengandClaude Code 9c233e5750 docs: 补充 M1 验收记录与页面清单
Task 14 收尾(几乎不含生产代码改动):

- 清扫三条孤儿字符串:`placeholder_workout_history` / `placeholder_device_settings` /
  `placeholder_metric_detail`。grep 全 `app/src` 确认三者均无调用点后删除;
  顺带逐条核对了 `strings.xml` 其余字符串,除 manifest 引用的 `app_name` 外全部有调用点,
  未发现别的漏接线(不是顺手一起删,是先查清才决定)。
- 按 ledger R31,给 `MockRingDeviceRepository.setFunctionEnabled` 补中文 KDoc,
  写明「必须返回新列表」及其原因(`DeviceViewModel.stateIn(initialValue=…)` 在构造时
  冻结 List 引用,原地改写会让 `DeviceViewModelTest` 第一条用例退化成自我确认)。

验证:`./gradlew :app:testDebugUnitTest` 21 项全绿(FormattersTest 7 + MockDataProviderTest 5
+ HomeViewModelTest 1 + WorkoutViewModelTest 1 + DeviceViewModelTest 2 +
MetricDetailViewModelTest 3 + RoutesTest 2);`./gradlew clean assembleDebug` BUILD SUCCESSFUL,
产物 app-debug.apk(18,907,329 字节)。

新增 `docs/verification-m1.md` 记录 M1 验收。**人工验收全表标注「未执行 —— 无设备」**:
本机无模拟器镜像、无连接真机(`adb devices` 为空;`~/.android/avd` 下两个 AVD 只是指向
已删除旧 SDK 的空壳,不可启动),IDE Preview 亦无法打开。记录中含覆盖缺口声明:
M1 全部运行时行为目前只有编译期与单元测试保证,`assembleDebug` 成功不代表界面正确或不会崩溃。

README 补 M1 页面清单表,路由与 `core/navigation/Routes.kt` 逐条核对一致;
并核对 `profile_check_update_desc` 的手抄版本号 `0.1.0` 与 build.gradle.kts 的
`versionName` 一致(计划 3682 行交办项)。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-10 12:54:40 +08:00
cuiluzhengandClaude Code 0e17502334 fix: 重写详情页 ViewModel 用例使其具备鉴别力并修正 Preview 夹具
审查指出第 3 条用例的唯一断言与 stateIn 的 initialValue 逐字相等(ledger R30 同类缺陷),
且三条用例都没有把构造函数的 metric 与 observeMetricHistory 的查询参数绑起来。
重写为「SLEEP 指标查到的是睡眠区间的数据」:点数断言杀掉「管线从不发射」,
取值区间断言(330~510,与步数 3000~12000 不相交)杀掉 metric 被写成常量的泄漏;
metric 回显断言保留但注释写明其无鉴别力。变异测试已证:把第 43 行的 metric 换成
MetricType.STEP 后该用例失败、另两条仍绿,回退后 3/3 通过。

顺带按 Minor 意见修正 previewPoints:KDoc 原文「贴近区间下限」不实,且步数夹具
7500~7572 在柱状图里渲染成齐平一排。改为带 step 形参,睡眠 330→480、步数 3200→11000,
两个 Preview 的 metric 分支覆盖不变。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-10 12:43:04 +08:00
cuiluzhengandClaude Code 01689b24fc feat: 实现指标详情子页(周/月切换 + 趋势图)
替换 MetricDetailPlaceholder 为真实详情页:范围切换、柱状趋势图、平均/最高/最低摘要,
睡眠指标额外渲染深睡/浅睡/清醒分期条与入睡/起床时间。
新增 MetricDetailViewModel(flatMapLatest 重新订阅数据源)与其 3 条 JVM 测试、
RoutesTest(锁住路由模板与 Routes.detail() 拼串)、Formatters.formatDecimal 与其测试。
接入 RingHealthApp 的 DETAIL_PATTERN,参数无法解析时直接抛而不是静默兜底。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-10 12:27:00 +08:00
cuiluzheng 88e88cf0ba feat: 实现我的页
纯静态入口列表(头像卡 + 应用设置 / 关于 两组入口),无 ViewModel、无状态。
新增 12 条 profile_* 文案资源,颜色统一走设计系统 TextSecondary。
2026-09-10 12:17:11 +08:00
cuiluzheng 7170a49664 fix: 收窄 SettingRow 可见性并强化设备 ViewModel 测试的数据管线断言 2026-09-10 11:32:55 +08:00
cuiluzheng 20fe2bce66 feat: 实现设备页与设备设置子页(可交互开关) 2026-09-10 11:27:27 +08:00
cuiluzheng 58573f4657 fix: 统一运动历史空态文字颜色并补充页面预览与顺序断言 2026-09-10 11:20:51 +08:00
cuiluzheng 031aea0fa2 feat: 实现运动页与运动历史子页 2026-09-10 11:12:28 +08:00
cuiluzheng 4805b027e0 fix: 补全 HomeContentPreview 的中文 KDoc(同类函数注释一致) 2026-09-10 11:09:02 +08:00
cuiluzheng 7eeb9f8e26 feat: 实现健康首页(今日大环 + 指标卡片,含 ViewModel 测试) 2026-09-10 11:02:14 +08:00
cuiluzheng 6d3cb1b418 feat: 新增底部四 Tab 导航骨架与路由表 2026-09-10 10:54:05 +08:00
cuiluzheng 2fba18bc7e fix: 确定性测试改为断言绝对时间戳,并补充设备刷新语义说明 2026-09-10 10:50:19 +08:00
cuiluzheng fda104041a feat: 新增 Mock 数据层与依赖容器(含单元测试) 2026-09-10 10:43:02 +08:00
cuiluzhengandClaude Code bf373a2a5a feat: 新增数值格式化工具(含单元测试)
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-10 10:35:33 +08:00
cuiluzheng ea8897f901 feat: 新增领域模型与仓库接口 2026-09-10 10:27:32 +08:00
cuiluzheng 75a6749619 feat: 新增通用 UI 组件(卡片/环形进度/指标块/分段条/柱状图) 2026-09-10 10:23:56 +08:00
cuiluzheng 8c245c099b feat: 新增设计系统(颜色/字体/浅色主题) 2026-09-10 10:20:04 +08:00
cuiluzheng 3cbcafd4e2 fix: 文案改用字符串资源,补齐 .gitignore/.gitattributes 与依赖降级依据 2026-09-10 10:17:12 +08:00
cuiluzheng 2a90c18317 chore: 初始化 Android 工程骨架(Compose + Gradle 8.14/AGP 8.13.1) 2026-09-10 09:36:55 +08:00