WaterRain
|
14083f4be1
|
refactor: migrate UsageCache from DataStore JSON to Room
- New: UsageRecordEntity (Room Entity, indexed on workspaceId+timeCreated)
- New: UsageDao (CRUD + time-range queries)
- New: UsageDatabase (Room Database, version 1)
- New: migrateDataStoreToRoom() — one-time migration from old DataStore JSON
- Rewrite: UsageCache internal impl from JSON serialize/deserialize to Room DAO
- UsageCache public API unchanged (getAll/insertAll/getRecords/count/etc.)
- Old DataStore key cleared after successful migration
- SharedPreferences flag prevents re-migration
- Room 2.7.1 + KSP compatible
- libs.versions.toml + build.gradle.kts updated
|
2026-07-06 23:21:43 +00:00 |
|
WaterRain
|
ea9f6f7e72
|
feat: 平板自适应全面适配 — BoxWithConstraints 双窗格 + 文档同步
P0 — 容器宽度自适应布局:
- 新增 WindowSizeUtils.kt (rememberWindowSizeClass 封装)
- 添加 material3-window-size-class 依赖
- DashboardScreen: BoxWithConstraints >600dp 卡片双列
- UsageDetailScreen/UsageChartScreen: >700dp 图表并排
- UsageDataScreen/UsageOverviewScreen: 移除全局 WindowSizeClass
P1 — 双窗格导航:
- RainyTokenNavHost 拆分 CompactNavHost/ExpandedLayout
- Expanded 模式: 左侧 35% Dashboard + 右侧 65% AnimatedContent
- 右侧内置子路由(图表⇄总览⇄数据) + Settings 局部 NavHost
- Compact 模式: 原 NavHost 一字未改,零回归
文档同步:
- AGENTS.md: 新增自适应断点说明 + 双窗格导航图
- README.md: 新增平板适配特性条目
- 项目记忆: 更新概述 + 删除旧 WIP 记录
|
2026-06-29 02:06:04 +00:00 |
|