16 Commits

Author SHA1 Message Date
xfy
c19916c2ec fix: US-006 修复构建错误,首次构建验证通过
- 移除 androidApp/shared 中已弃用的 kotlinOptions 块
- material3 改为通过 Compose BOM 管理版本
- 清理残留的 composeResources 目录

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 14:58:06 +08:00
xfy
0806c11fcc refactor: US-002~005 迁移为纯 Android 项目
- shared/build.gradle.kts: KMP 库 → Android Library,使用 Compose BOM
- androidApp/build.gradle.kts: 移除 CMP 插件,使用标准 Android App 配置
- 源码目录: commonMain → main, commonTest → test
- expect/actual 内联: Platform.kt + ComposeTrace.kt 合并为普通实现
- 资源迁移: 152 个 GIF + app_icon → assets/
- 删除: iosApp/、androidMain/、commonMain/、commonTest/

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 14:51:59 +08:00
xfy
df0aa16d8e feat: 新增关于页面与开源许可页面
- 新增 AboutActivity、LicensesActivity 及对应的 Slide 转场动画
- MainActivity 接入 CalendarMonthView,支持导航到关于页面
- 移除 composeResources 下的 AGENTS.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 13:55:21 +08:00
xfy
50a42be9bc docs: 新增项目各目录 AGENTS.md 文档
为各模块和子目录添加 AGENTS.md,便于 AI 助手理解项目结构。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 13:26:19 +08:00
xfy
a0b1b4b569 feat: 支持动态版本号生成与读取
- build.gradle.kts 根据 baseVersion + git hash + buildDate 生成 versionName
- gradle.properties 添加 app.version.base=1.0.0
- 新增 expect/actual getAppVersion(),Android 从 PackageInfo 读取,iOS 从 NSBundle 读取
- AboutScreen 使用 getAppVersion() 替代硬编码 AppInfo.VERSION

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 01:11:12 +08:00
xfy
5bb0cc7071 chore: 更新应用图标资源,添加 WebP 格式并同步各平台
- 替换所有尺寸的 app_icon.png 为新版设计
- 新增 composeResources app_icon.webp
- 同步 Android mipmap 和 iOS AppIcon 资源
- 更新 getAppIconUri 缓存版本号 (?v=2)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 00:56:10 +08:00
meyou
bde143a25b
feat: 迁移 NavigationBackHandler + 替换应用图标
- 将 PredictiveBackHandler 迁移到 NavigationBackHandler (navigationevent-compose 1.0.1)
- 添加 org.jetbrains.androidx.navigationevent:navigationevent-compose 依赖
- 提取 applyDismissTransform/applyRevealTransform/applyEnterTransform 辅助函数
- 替换所有密度的启动图标和关于页图标
- 移除旧的自适应图标 XML 配置
2026-05-19 22:24:26 +08:00
xfy
fc3c8ec882 feat: Android 13+ 预测性返回手势(Predictive Back)
- BackHandler 升级为 PredictiveBackHandler expect/actual
- Android 13+ 启用系统级预测返回,跟手阶段同步位移/缩放页面
- Android 低版本回退至普通 BackHandler
- iOS 保持空实现(无系统返回手势)
- 页面返回动画统一 250ms 时长,提升流畅感
- AndroidManifest 启用 enableOnBackInvokedCallback
2026-05-19 17:58:49 +08:00
xfy
43579b2866 feat: 关于页面与开源许可声明
- 新增 AboutScreen:应用图标、名称、版本、开源许可入口
- 新增 LicensesScreen 与 Licenses 数据源,展示第三方依赖许可证
- App 内页面导航(Main/About/Licenses)
- 双平台 getAppIconUri() 及 app_icon.png 资源
- 菜单"关于"项接入 AboutScreen 跳转
- iOS Info.plist 补充 CFBundleShortVersionString / CFBundleVersion

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 17:31:26 +08:00
xfy
ce64526125 build: 移除 Compose runtime 的 ProGuard keep 规则
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 15:53:50 +08:00
xfy
c1e8653941 feat: 引入 152 张 GIF 素材,按选中日期随机展示
- 移除单张 puppy_1.gif,替换为 001.gif~152.gif 的 GIF 素材池
- 新增 getGifUri expect/actual 函数,Android 通过 assets 加载、iOS 通过 compose 资源加载
- AnimatedGif 接收 seed 参数,随选中日期变化重新随机选取
- BottomCard 在底部信息下方展示 140dp 高度的随机 GIF

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 14:49:50 +08:00
xfy
fae6e3eb72 feat: 支持系统深色主题切换
新增 values/values-night 主题资源 Theme.YaYa,AndroidManifest 切换为该主题;
Compose 端根据 isSystemInDarkTheme 切换 light/dark ColorScheme。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 13:52:41 +08:00
xfy
22464d9ca6 build: 优化 APK 打包与 AAB 分包配置
排除冗余的 META-INF 许可证与 Kotlin 元数据资源,挑选首次出现的 INDEX.LIST,避免合并冲突;启用按语言、密度、ABI 拆分的 App Bundle。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 13:41:51 +08:00
xfy
ba742f1597 build: 启用 R8 压缩与资源优化,添加 ProGuard 规则
- androidApp: 启用 isMinifyEnabled 和 isShrinkResources
- androidApp: ABI 过滤(arm64-v8a, armeabi-v7a),关闭 buildConfig
- gradle.properties: 启用并行构建、守护进程、R8 fullMode
- 新建 proguard-rules.pro 保留 KMP/Compose/kotlinx.datetime 规则

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 07:42:29 +08:00
xfy
73d42902ea Update targetSdk to 37, Gradle to 9.5.1, coroutines-test to 1.11.0, and move launcher icon out of drawable-v24
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 16:07:48 +08:00
xfy
07f6b779c6 Refactor KMP project structure for AGP 9.0 compatibility
Split composeApp into shared (KMP library) and androidApp (Android application)
modules to resolve KMP + AGP 9.0 incompatibility. Remove deprecated gradle
properties and add performance optimization settings.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 11:47:26 +08:00