Files
ring-health-app/README.md
T
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

968 B
Raw Blame History

ring-health-app

智能戒指健康 App(原生 Android / Kotlin + Jetpack Compose)。

  • 设计文档:见 ring-health-docs 仓库 superpowers/specs/
  • 当前阶段:M1 静态页面(数据来自 Mock,未接入蓝牙 SDK)

页面清单(M1)

页面 路由
健康首页 home
运动 workout
运动历史 workout/history
设备 device
设备设置 device/settings
我的 profile
指标详情(步数/心率/睡眠/血氧/压力/体温/血压) detail/{metric}

页面路由的唯一定义处是 core/navigation/Routes.kt,上表与其保持一致。 M1 的验收状态见 docs/verification-m1.md。

构建

./gradlew assembleDebug      # 产物在 app/build/outputs/apk/debug/
./gradlew installDebug       # 安装到已连接设备
./gradlew test               # 单元测试

要求:JDK 17、Android SDK(platform 36 / build-tools 36.1.0)。