diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index 479d262..57a5b61 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -1,23 +1,23 @@ -## [已处理] 2026-10-20 | K57-A iOS 视频未加载诊断 + 封面→视频切换防闪(仅 App 端) +## [已处理] 2026-10-20 | K58-A 开屏改浅色(去掉原生黑屏)+ 自定义开屏文字加深(仅 App 端) **用户指令(2026-10-20,原文)**: -> 「iOS 视频资源未加载出来 显示封面有另一个问题 会闪屏 封面会闪一下」 +> 「现在安卓端安装的app 图标没有改为最新的 还有原来的启动屏弄成透明的 不然会黑屏 另外 自定义的启动屏的字体看不清」 -**口径(只改 Flutter,不动后端、不改接口)** - -1. 视频状态可观测(仅 `kDebugMode`): - - 播放页/首页 feed 在封面占位右下角显示 11 号小字(Key `player-debug-video`):`initialized` / `buffering` / `error: ` / `loading`; - - 状态变化时 `debugPrint('[video] init=... err=... url=<脱敏后的 host:port>')`。 -2. 封面→视频防闪: - - 封面占位(`player-fallback-background`)始终作为底层背景保留; - - 视频层用 `AnimatedOpacity`(200ms)淡入,条件为 `value.isInitialized && value.size.width > 0` 且已收到首帧(`ValueListenableBuilder` 里用 `value.position > Duration.zero || value.isPlaying` 判定,或监听首帧后置位); - - 未完成淡入前不卸载封面,避免「封面消失 → 黑帧 → 视频」造成的闪一下; - - 切换过程中不重建 `VideoPlayer` 组件(保持同一个 controller 与 Key)。 -3. iOS 视频源排查辅助:debug 下若 `controller.value.hasError`,在封面占位中央显示错误摘要(最多 3 行,Key `player-video-error`),并保留现有重试入口。 -4. Android 行为不变(有封面时同样走淡入)。 +**口径(只改 Flutter / 原生启动资源)** +1. 原生启动不再黑屏: + - `android/app/src/main/res/drawable*/launch_background.xml` 保持仅纯色,但颜色改为与 Flutter 开屏一致的浅暖色 `#FFF8F0`(`splash_background` 同步修改); + - `values-v31` / `values-night-v31` 的 `windowSplashScreenBackground` 一并改成 `#FFF8F0`,`windowSplashScreenAnimatedIcon` 继续使用透明 drawable; + - 这样原生阶段是浅暖底,不会出现黑屏,也与 Flutter 开屏无缝衔接(Android 12 的 splash 背景必须给不透明色,纯透明会被系统渲染成黑色)。 +2. Flutter 自定义开屏改浅色主题,解决文字看不清: + - 背景 `AppColors.ink`(#FFF8F0),状态栏深色图标; + - `FruitShorts` 改 `AppColors.onSurface` 28 号 w900;「水果短剧」改 `AppColors.muted` 13 号、字距 4; + - logo 柔光改 `0x33FF7A1A`;转圈保持主题橙; + - 动画时序、Key(splash-screen/splash-brand/splash-tagline/splash-loading)全部保留。 +3. 图标无需改图:最新 APK 已重装到 Android 设备(图标资源已在包内);若桌面仍显示旧图标属启动器缓存,重启桌面/重新添加图标即可,代码侧不做处理。 **测试/门禁** -- 新增:未初始化时封面可见且视频 opacity 0;初始化后 200ms 内过渡到 1;有错误时出现 `player-video-error` 且封面仍在; +- 更新开屏测试:背景为 `AppColors.ink`、品牌文字颜色为 `AppColors.onSurface`、标语为 `AppColors.muted`; +- 静态检查 `splash_background` 为 `#FFF8F0`; - `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。 -**流程**:从 `develop` 拉 `fix/ios-k57-video-flash`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;iOS 复现由用户执行(把 `player-debug-video` 的文案发回来即可定位视频源问题)。 +**流程**:从 `develop` 拉 `feature/flutter-k58-light-splash`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。 diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index bd5c645..f92ea1a 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -22009,6 +22009,36 @@ Running Gradle task 'assembleDebug'... 解读:静态检查零告警,471 条测试全部通过,debug APK 构建成功。工作区无锁文件残留。iOS 复现时查看 `player-debug-video` 文案或 Xcode 中 `[video]` 日志即可定位视频源状态。 +## 2026-10-20 ReelShort:K58-A 浅色开屏与原生过渡 + +- 前置状态:K57-A 已完成并合并,develop 合并提交 `576f2b9`。 +- 分支:`feature/flutter-k58-light-splash` +- 功能提交:`398dc3f feat(flutter): 优化浅色开屏与原生过渡` +- develop 合并提交:`da54949 merge: 合并 K58 浅色开屏`,已推送。 +- Android `splash_background` 改为 `#FFF8F0`,三个 `launch_background.xml` 仍仅使用该纯色;v31 与 night-v31 的 `windowSplashScreenBackground` 同步使用该颜色,透明系统图标继续保留,避免 Android 12 纯透明背景被渲染成黑色。 +- Flutter 开屏背景改为 `AppColors.ink` (#FFF8F0),状态栏深色图标;FruitShorts 改 `AppColors.onSurface` 28 w900,中文标语改 `AppColors.muted` 13 字距 4,柔光透明度改 `0x33FF7A1A`,转圈与动画时序、Key 均未变。 +- 不修改任何图标 PNG。最新 APK 内图标资源已包含;若 Android 桌面仍显示旧图标,属于启动器缓存,需要重启桌面或重新添加图标。 + +测试:开屏测试更新为浅暖背景、深色状态栏、品牌 `onSurface`、标语 `muted` 和 0x33 柔光;原生颜色静态检查与 XML 校验通过。 + +门禁原始输出: + +```text +$ dart analyze lib test +Analyzing lib, test... +No issues found! + +$ flutter test +00:50 +471: All tests passed! + +$ flutter build apk --debug +Running Gradle task 'assembleDebug'... + 9.4s +✓ Built build/app/outputs/flutter-apk/app-debug.apk +``` + +解读:静态检查零告警,471 条测试全部通过,debug APK 构建成功。原生浅暖色与 Flutter 开屏无缝衔接,不再出现原生黑屏;新桌面图标因启动器缓存的显示问题由用户真机重启桌面后验收。 + ## 2026-10-20 ReelShort:K53-A 详情页首帧直出 - 前置状态:K52-A 已完成并合并,develop 合并提交 `a11ba50`。