Skip to content

Releases

用时记 0.4.1 · 周月选择与电脑数据开关

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 09 Nov 12:37

用时记 0.4.1 · 周月选择与电脑数据开关

Android 10 及以上;versionCode 30;数据库版本 6;完整备份 v3。

操作改进

  • 周对比直接点选周一至周日的整周,支持跨月周、翻月和跳转年月。
  • 月对比直接选择月份,支持切换年份。
  • 提供本周、上周、本月、上月快捷入口;未来周期不可选,选中立即生效。

电脑数据默认关闭

  • 在「设置 → 电脑数据」新增「显示电脑数据」,默认关闭。
  • 开启后才显示电脑导航、总览摘要和电脑同步状态,并允许从已配置的 WebDAV 服务拉取电脑记录。
  • 关闭后停止后续电脑拉取并保留此前缓存,手机统计上传不受影响;开关状态重启后保留。
  • 请求及响应读取会检查开关和取消状态,避免快速关闭再开启后旧任务继续下载。

其他修复

  • 重新打开同步设置时,已保存且启用的配置可直接同步,不需要重复保存。
  • 授权页说明更新为默认本机保存、云端同步自愿开启。
  • 电脑同步校验增加单项用时和分类数量边界,拒绝累计数值溢出的异常记录。
  • 包含此前本地开发的手机加密上传与电脑加密拉取功能;配置方法见同步说明。

未在实体手机或真实 WebDAV 服务执行本次端到端验收。发布验证结果见 VALIDATION-0.4.1.md。

用时记 0.3.18 · 多款桌面小组件

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 08 Nov 10:21

用时记 0.3.18 · 多款桌面小组件

Android 10 及以上;versionCode 26;数据库版本 6;备份 v3。

新增

  • 桌面小组件扩展为五款,按桌面空间选择:
    • 用时速览 2×1:今日总用时和最近补记时间。
    • 今日概览 3×3:总用时、昨日同期、24 小时走势、前三应用和统计口径。
    • 应用排行 4×3:前五应用的用时、占比和排行条。
    • 分类分布 3×2:分类环图、前三分类和其余分类汇总。
    • 七日趋势 4×2:七天柱状图、每日数值、累计和已记录日均。
  • 今日概览在 3×3 空间内显示三行应用排行,信息量不再只有总用时和更新时间。
  • 应用行、图表和底部说明补充无障碍描述;点击小组件可进入对应页面。
  • 应用排行中的单个应用可进入应用详情;七日趋势打开最近 7 天。
  • 刷新按钮和系统更新改为立即渲染,后台 WorkManager 仅作为补充,减少桌面停留在“正在读取”的时间。

修复

  • 修复首次添加或调整尺寸时,系统同时给出最小/最大尺寸导致 3×3 被错误降级成“用时速览”的问题。
  • 修复大字体下底部补记时间被裁切的问题。
  • 修复无权限或暂无记录时小组件中间留白过大的问题,改为居中提示。
  • 小尺寸、大字体和高度不足时继续保留总用时,不伪造零值,不把未知区间写成 0。

数据与口径

  • 小组件只显示本机已保存的真实记录,不把示例数据放到桌面。
  • “未记录”和“0 分”严格区分;部分记录显示“部分记录”,不错误声称同比增加或减少。
  • 分类沿用应用分类设置;未归类应用计入“其他”。
  • 小组件沿用当前统计指标、旧版历史开关和确认时间开关。

使用说明

在“设置 → 桌面小组件”选择款式并添加,也可从系统桌面长按空白处进入小组件列表。右上角按钮立即刷新;系统定时刷新仍受省电策略和 WorkManager 调度影响。补记新数据请打开用时记。

验证边界

  • 已在专用 Android 模拟器完成小组件渲染、深浅主题、尺寸降级、大字体、空状态和点击恢复测试。
  • 已在模拟器桌面实际添加今日概览 3×3,确认首次添加不再降级为用时速览,并确认刷新后立即更新。
  • 未在物理手机执行安装、权限授权和长期后台验收;模拟器结果不代表所有厂商系统的桌面行为。

用时记 0.3.17 · 分类与时间分析

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 08 Nov 08:26

用时记 0.3.17 · 分类与时间分析

Android 10 及以上;versionCode 25;Room 数据库 v6;备份 v3。

新增

  • 总览和应用页支持学习、工作、社交、影音、游戏、其他六类统计;在应用详情修改分类,展开分类可查看所属应用。
  • 分类不会改写使用历史;未归类的应用计入其他,示例模式的调整与真实分类隔离。
  • 新增“分析”入口:当天时间线保留已确认、候选估计、未知、未闭合与没有保存明细的区别,不将空白区间认定为零使用。
  • 新增月历与年度热力图,沿用当前指标、累计开关和旧版口径。月历支持点击日期进入统计,年度图可跳转月份。
  • 月历明确区分未记录、可用零值、部分记录和未来日期;年度图横向滑动查看全年。
  • 新增今日用时桌面小组件,显示真实记录、前三项分类、最近补记时间。后台更新受系统调度影响。
  • 备份 v3 新增可选 app_categories 扩展;旧备份继续兼容,导入分类时优先保留本机已设置的分类。
  • 保存当前统计指标偏好;小组件沿用同一口径。

发布与数据保护

  • 新增 GitHub Actions 回归和正式发布流程,检查标签/源码/APK 版号、升级版号递增和签名一致性,生成源码与校验附件。
  • 新增旧版 APK 覆盖升级脚本,检查两年合成历史及设置保留;仅允许专用模拟器执行。
  • 修复压缩备份解析时 JSON 结束检查可能掩盖 gzip 尾部缺失的问题。
  • 修复深色卡片默认文字颜色,避免日期标题出现低对比黑字。

使用说明

在“应用”中打开一个应用,点击分类按钮调整归类。在底部“分析”切换当天时间线、月历和年度热力图。在“设置 → 桌面小组件”添加小组件,也可从桌面的小组件列表添加。

当天时间线展示已保存的近期明细;长期日汇总无法反推出旧时段。屏幕可见的不同应用允许重叠,分类累计也不等同于手机亮屏时长。

自动发布首次运行前须由仓库维护者配置原签名身份对应的加密 Secrets,详见 自动发布与升级验收。本地模拟器验收不代表真机或长期后台保证。

用时记 0.3.16 · 界面重构

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 08 Nov 05:26

用时记 0.3.16 · 界面重构

Android 10 及以上;versionCode 24;Room 数据库 v6;备份格式 v3。

本版变化

  • 采用低饱和薰衣草紫、雾白画布、白色描边卡片和柔和阴影,重做手机端总览、应用、应用详情、周期对比和设置页面。
  • 使用大标题、说明文字、下划线视图切换、细比例条和悬浮底栏,统一浅色与深色主题。
  • 应用页改为搜索优先的紧凑分组列表;应用详情增加记录天数、趋势、数据概览和每日时长分组。
  • 修复应用占比条始终显示为满格的问题,比例条按实际应用份额绘制。
  • 区分可用的零统计与缺失记录:可用零值显示为 0 分,没有记录才显示“未记录”。
  • 对比图不再为可用的零值绘制短柱。
  • 周期筛选补充选中状态语义;切换标签时列表返回顶部。
  • 统计口径、数据库 v6、备份格式 v3 和 CSV 字段未改变。

验证与限制

全量 Preview 构建、170 项核心 JVM 测试和 125 项应用 JVM 测试通过;Lint 0 errors、15 warnings。交付包在隔离模拟器完成总览、应用排行、应用详情、今天零值、月对比、设置和深浅主题切换的实际页面复核,复核后崩溃缓冲为空。

新增 Compose 组件测试覆盖比例条像素宽度、零值/缺失值和按钮选中语义;它和现有界面流程测试在 Android 37 模拟器上均因测试框架反射调用已不存在的输入接口而在初始化阶段失败,未执行到业务断言,因此不计为通过。未执行真机覆盖安装、真实授权数据和长期后台验收。

附件

  • usagetime-0.3.16.apk:四架构整合安装包,可单独安装。
  • usagetime-0.3.16-source.zip:本版本对应的 GPL-3.0-only 源码。
  • CHANGELOG.md:截至本版的更新记录。
  • SHA256SUMS.txt:附件 SHA-256 校验值。

公开源码树不包含真实使用记录、数据库实例、个人设备信息、截图、诊断日志、访问令牌或签名密钥。

用时记 0.3.15 · 导出修复

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 03 Nov 03:03

用时记 0.3.15 · 导出修复

Android 10 及以上;versionCode 23;Room 数据库 v6;备份格式 v3。正式发布。

本版变化

  • 修复设置页切换“显示确定时间”后导出提示“暂无记录”的问题。
  • CSV 导出按当前指标、旧版模式及累计口径重新查询,并将标签与数值绑定到同一快照。
  • 保留最近实际报表的日期范围、详情和对比上下文,阻止示例报表作为真实记录导出。
  • 新增 6 项导出回归测试。

验证与限制

170 项核心与 125 项应用 JVM 测试通过,全量 Preview 构建通过;Lint 0 errors、15 warnings;设备测试执行 0 项。本轮未重新审核时间统计准确性。

尚未完成本版真机覆盖安装、页面点击、后台运行及文档提供器验收。安装包沿用已有 Android Debug 开发签名,由 Preview 变体构建;正式 Release 状态不代表设备验收完成。签名与 0.3.12 一致,不能以同签名检查替代实际覆盖安装测试。

升级前请在应用内导出完整备份。遇到签名冲突请保留原安装,不要通过卸载处理。数据库 v6 与备份 v3 不支持交给旧版应用直接降级使用。

主要使用时间和屏幕可见时间为不同指标;未知不等于零使用。系统 API 无法可靠证明的时间不承诺精确。长期历史压缩后不支持精确还原旧小时或任意时区的部分日期。

附件

  • usagetime-0.3.15.apk:四架构整合安装包,可单独安装。
  • usagetime-0.3.15-source.zip:本版本标签对应的 GPL-3.0-only 源码。
  • CHANGELOG.md:截至本版的更新记录。
  • SHA256SUMS.txt:附件 SHA-256 校验值。

历史版本源码由保留的变更记录核对还原;0.3.13 生产源码逐文件匹配架构重构最终哈希,后续标签依次包含可信状态说明与导出修复。构建辅助脚本为公开环境做了路径适配。发布内容不包含真实使用记录、数据库实例、设备诊断、访问令牌或签名密钥。

用时记 0.3.14 · 可信状态说明

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 03 Nov 03:03

用时记 0.3.14 · 可信状态说明

Android 10 及以上;versionCode 22;Room 数据库 v6;备份格式 v3。正式发布。

本版变化

  • 在“数据可信状态”标题后添加问号按钮,点击后显示说明弹窗。
  • 保留已确认、候选估计、无法确定、未闭合四类时长摘要。
  • 沿用 0.3.13 架构与数据格式。

验证与限制

发布前离线 Preview 构建与 Lint 通过,170 项核心与 119 项应用 JVM 测试通过;重建 DEX 与原安装包完全一致。本版未单独重跑 SQLite 回归,未执行设备界面验收。

尚未完成本版真机覆盖安装、页面点击、后台运行及文档提供器验收。安装包沿用已有 Android Debug 开发签名,由 Preview 变体构建;正式 Release 状态不代表设备验收完成。签名与 0.3.12 一致,不能以同签名检查替代实际覆盖安装测试。

升级前请在应用内导出完整备份。遇到签名冲突请保留原安装,不要通过卸载处理。数据库 v6 与备份 v3 不支持交给旧版应用直接降级使用。

主要使用时间和屏幕可见时间为不同指标;未知不等于零使用。系统 API 无法可靠证明的时间不承诺精确。长期历史压缩后不支持精确还原旧小时或任意时区的部分日期。

附件

  • usagetime-0.3.14.apk:四架构整合安装包,可单独安装。
  • usagetime-0.3.14-source.zip:本版本标签对应的 GPL-3.0-only 源码。
  • CHANGELOG.md:截至本版的更新记录。
  • SHA256SUMS.txt:附件 SHA-256 校验值。

历史版本源码由保留的变更记录核对还原;0.3.13 生产源码逐文件匹配架构重构最终哈希,后续标签依次包含可信状态说明与导出修复。构建辅助脚本为公开环境做了路径适配。发布内容不包含真实使用记录、数据库实例、设备诊断、访问令牌或签名密钥。

用时记 0.3.13 · 架构重构

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 03 Nov 02:57

用时记 0.3.13 · 架构重构

Android 10 及以上;versionCode 21;Room 数据库 v6;备份格式 v3。正式发布。

本版变化

  • 拆分报表请求、采集、备份读写、导入批次、维护和文档回调职责,保留既有统计与持久化语义。
  • 修复 Windows 默认测试入口遗漏协程运行库的问题。
  • 包含此前统计查询与图表、排行榜加载优化。

验证与限制

170 项核心与 119 项应用 JVM 测试、24 项隔离 SQLite 检查通过;Lint 0 errors、15 warnings;Android 测试包编译成功,设备测试执行 0 项。

尚未完成本版真机覆盖安装、页面点击、后台运行及文档提供器验收。安装包沿用已有 Android Debug 开发签名,由 Preview 变体构建;正式 Release 状态不代表设备验收完成。签名与 0.3.12 一致,不能以同签名检查替代实际覆盖安装测试。

升级前请在应用内导出完整备份。遇到签名冲突请保留原安装,不要通过卸载处理。数据库 v6 与备份 v3 不支持交给旧版应用直接降级使用。

主要使用时间和屏幕可见时间为不同指标;未知不等于零使用。系统 API 无法可靠证明的时间不承诺精确。长期历史压缩后不支持精确还原旧小时或任意时区的部分日期。

附件

  • usagetime-0.3.13.apk:四架构整合安装包,可单独安装。
  • usagetime-0.3.13-source.zip:本版本标签对应的 GPL-3.0-only 源码。
  • CHANGELOG.md:截至本版的更新记录。
  • SHA256SUMS.txt:附件 SHA-256 校验值。

历史版本源码由保留的变更记录核对还原;0.3.13 生产源码逐文件匹配架构重构最终哈希,后续标签依次包含可信状态说明与导出修复。构建辅助脚本为公开环境做了路径适配。发布内容不包含真实使用记录、数据库实例、设备诊断、访问令牌或签名密钥。

用时记 0.3.12 · 数据库修复

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 01 Nov 13:45

用时记 0.3.12 · 数据库修复

Android 10及以上;versionCode 20;Room数据库版本6;备份格式v3。

本版变化

  • 独立保存长期每日双指标汇总与完整性标记,支持多年历史,不再依赖可淘汰缓存。
  • 保留至少最近90个完整日期及今天的本机详细区间。先持久化长期汇总,再验证双指标、摘要、待重放、未闭合区间和精确边界检查点,才在同一事务内删除旧明细与更新边界;条件不足继续保留。
  • v5→v6非破坏性迁移,保留原表与历史记录,完整注册v1至v6升级路径。
  • 备份v3包含长期汇总,兼容v1/v2导入;重复恢复不累加总量,损坏或不完整导入整体回滚,外部记录不提升为本机确认时间。
  • 新增近期明细结束时间索引;合成压力档最近一天SQL查询中位耗时由约734毫秒降至18毫秒。

验证与限制

  • 160项核心、25项应用JVM测试和24项SQLite回归通过。
  • 5个历史版本迁移入口、6个强制进程退出阶段、10个双索引边界案例通过。
  • 十年合成汇总+90天明细实测约189 MiB(20应用/日、1000会话/日)和618 MiB(100应用/日、3000会话/日)。
  • 主机SQLite测试不代表手机性能或物理断电验收。新增Android Room测试已编译但尚未执行;首次多年原始明细回填、设备迁移/恢复和物理断电仍需隔离验收,这些验证限制不因正式发布而改变。

升级前请在当前安装中导出备份。旧格式历史、外部导入及不满足安全条件的明细可能保留超过90天,实际容量可能更大。长期汇总按原时区完整日期保存,不能精确还原旧小时、任意时区或部分日期。涉及已压缩日期的局部明细导入会回滚,避免覆盖完整历史。

备份v3和数据库v6不支持直接交给旧版应用降级使用。安装包沿用开发签名;签名不匹配时请保留原安装,避免通过卸载造成数据丢失。本次未对用户设备安装、清理或恢复真实数据库。

附件

  • usagetime-0.3.12.apk:四架构整合安装包,约12.6 MB,可单独安装。
  • usagetime-0.3.12-source.zip:与发布标签对应的GPL-3.0-only源码,含合成测试和数据库schema。
  • CHANGELOG.md:版本更新记录。
  • DATABASE-0.3.12.md:数据库修复、测试、容量与限制说明。
  • DATABASE-0.3.12-results.json:不含个人路径的合成容量、查询计划及耗时结果。
  • SHA256SUMS.txt:附件SHA-256校验值。

发布内容不包含真实使用记录、数据库实例、备份、设备诊断、个人路径、访问令牌或签名密钥。第三方依赖保留各自许可证。

用时记 0.3.11 · 统计证据修复

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 01 Nov 11:16

用时记 0.3.11

Android 10 及以上;versionCode 19;数据库版本 5;正式发布。

本版修复

  • 明确失焦、进程回收后旧状态、无实例重复 RESUME 不再错误延续主要使用归属。
  • 归属证明与审计引用分离,闭合仅匹配对应证明,修复增量入库与整段重放不一致。
  • 隔离时钟不连续区间,缺失闭合等无法可靠推断的时间保留未知。
  • 未知与未闭合情况常驻显示,CSV 与小时、日、月汇总同步调整。

证据算法升级为 strict-evidence-0311,保留原始事件并重算派生结果。本版累计可能比旧版减少,这是将证据不足的区间改为未知的结果;未知不等于零使用,候选估计不能与未知简单相加。

主要使用时间与屏幕可见时间是两个指标,可见时间允许不同应用重叠。本次不以 vivo 或其他厂商系统统计作为正确性标准,不对系统 API 无法证明的时间伪造精度。

验证及限制

  • 155 项核心 JVM 测试、25 项应用 JVM 测试、24 项 SQLite 检查通过。
  • 155 项核心测试包含 138 项基线与 17 项合成事件回放,不能重复相加。
  • 200 组分段切点等价检查通过;Preview 构建和 Lint 通过。
  • Android 仪器测试源码已编译,但本次没有执行设备端测试。分屏、画中画、重启、锁屏与真实调时仍需设备验收;界面质量说明未做截图验收。

修复复现方式、对应测试和 API 可观测边界见源码中的 docs/STATISTICS-0.3.11.md。

附件

  • usagetime-0.3.11.apk:四架构整合安装包,可单独安装。本版未提供单架构附件。
  • usagetime-0.3.11-source.zip:本次提交的公开源码,含 GPL-3.0-only 许可证与合成测试。
  • CHANGELOG.md:更新记录。
  • STATISTICS-0.3.11.md:修复与验证说明。
  • SHA256SUMS.txt:上述附件的 SHA-256 校验值。

安装包使用 Android Debug 开发签名。同应用标识、相同签名且版本允许时可覆盖安装。已有数据请先在应用内导出备份;若遇到签名冲突,请保留原安装并核对签名,避免通过卸载丢失数据。

发布内容不包含个人使用记录、个人手机信息、截图、数据库实例、诊断日志、本机 SDK 配置或签名密钥。项目源码继续采用 GPL-3.0-only,第三方依赖保留各自许可证。

用时记 0.3.10

Choose a tag to compare

@yanzhongwuchen yanzhongwuchen released this 01 Nov 09:24

用时记 0.3.10

Android 10 及以上;versionCode 18;数据库版本 5。

开源协议

项目自行编写的源码采用 GNU General Public License v3.0(GPL-3.0-only)。完整许可证随源码包中的 LICENSE 文件提供;第三方依赖和 Gradle Wrapper 保留各自的许可证及版权声明。

本版更新

  • 将“主要使用时间 / 屏幕可见时间 / 旧版历史”选择统一移到设置的“记录与统计”。
  • 总览与对比页顶部只保留周期选择,累计标题显示当前统计口径。
  • 去掉重复的旧版历史入口。
  • 补齐 0.1.0 至 0.3.10 共 18 个版本的更新记录。

近期改进

  • 0.3.9:默认展示推断时间,确定时间通过设置开启,显示偏好持久保存。
  • 0.3.8:异步加载应用图标与名称,减少列表渲染等待。
  • 0.3.7:修复自身窗口实例残留造成的主要使用归属过少和可见候选累计过长。
  • 0.3.6:限制本地重算到实际采集边界,避免把等待期间算成持续使用,并减少重复查询。
  • 0.3.4 至 0.3.5:增量补记、报表缓存、重启和更新后补记、原始事件先持久保存、小时日月分层汇总。

完整历史见仓库根目录及附件中的 CHANGELOG.md。历史条目是根据保留的项目记录整理,不代表保留了每个旧版本的 Git 源码快照。此 Release 只提供当前版本,未上传旧版安装包或内部验收资料。

安装与数据

本 Release 提供四个单架构安装包和一个四架构整合包。只需选择并安装其中一个,不需要安装多个 APK,也不需要额外的配套安装包。不清楚设备架构时优先选整合包;现代 Android 手机通常为 ARM 64 位,对应 arm64-v8a 单架构包。

安装包 架构 如何选择
usagetime-0.3.10.apk 整合包:ARM64、ARM32、x86、x86_64 不清楚设备架构时优先选此包;系统会选用匹配的原生库
usagetime-0.3.10-arm64-v8a.apk ARM 64 位 支持 arm64-v8a 的 Android 设备
usagetime-0.3.10-armeabi-v7a.apk ARM 32 位 支持 armeabi-v7a 的 Android 设备
usagetime-0.3.10-x86.apk x86 32 位 支持 x86 的 Android 设备或模拟器
usagetime-0.3.10-x86_64.apk x86 64 位 支持 x86_64 的 Android 设备或模拟器

所有安装包均要求 Android 10 及以上。这里的 x86 安装包也是 Android 应用,不能作为 Windows 程序直接运行。64 位设备是否支持 32 位应用取决于系统;选择系统实际支持的架构,或使用整合包。

五个安装包功能、应用标识和版本相同(0.3.10 / versionCode 18),使用相同开发签名,都是可以单独安装的完整安装包,不是需要组合安装的 split APK。单架构包仅减少其他架构的原生库,体积差异较小。

同应用标识、相同签名且版本允许时可覆盖安装;无需为了更换架构包而卸载。已有使用记录的用户应先在应用内导出备份;遇到签名冲突应保留原安装,核对签名,不要通过卸载处理。

主要使用时间和屏幕可见时间是不同口径;可见时间按应用累计,允许重叠。未知区间不等于零使用。后台补记受系统调度和系统事件保留期限限制。

文件与验证

  • usagetime-0.3.10.apk:四架构整合安装包,保留原有文件名和校验值。
  • usagetime-0.3.10-arm64-v8a.apk、usagetime-0.3.10-armeabi-v7a.apk、usagetime-0.3.10-x86.apk、usagetime-0.3.10-x86_64.apk:四个单架构安装包。
  • usagetime-0.3.10-source.zip:从本次发布提交生成的源码包。
  • CHANGELOG.md:完整更新记录。
  • SHA256SUMS.txt:五个 APK、源码包及更新记录共七个文件的 SHA-256 校验值。

发布源码通过 125 项核心 JUnit、21 项应用 JVM、24 项 SQLite 检查、Preview 构建与 Lint。Android 仪器测试已编译,本次发布没有执行新的设备端测试。

四个单架构包由同一份 0.3.10 源码通过 ABI 拆分构建,已逐一核对包内版本、原生库架构和签名,并检查其应用代码与整合包一致;未执行四种架构逐一安装运行的设备验收。源码压缩包保留原构建配置,默认生成整合包,四个单架构附件由临时启用 ABI 拆分构建生成。

源码包和安装包经过内容检查,不包含已识别的个人使用记录、个人手机信息、手机截图、备份、数据库实例、诊断日志或签名密钥。签名证书使用通用 Android Debug 身份。源码包不包含本机 SDK 路径或个人签名配置。