feat(player): 保持屏幕常亮并自动恢复播放

This commit is contained in:
Zhou Weidong committed 2026-10-22 10:17:43 +08:00
1 parent 5bf10221a8
commit a25c500371
7 files changed
+273 -1

No files matched your search

+27
View File
@@ -299,3 +299,30 @@ $ flutter test --no-pub
解读:加载高光、锁定静态轨道、拖动禁用和两个 loading 指示器尺寸均通过;
全量静态分析零告警,576 项测试全过。`pubspec.lock` 已还原,未启停服务,
未操作真机。
## 2026-10-22 屏幕常亮与前台自动续播
- 已从 `develop`(`5bf1022`)创建 `feature/keep-awake-auto-resume`。
- Android 主 Activity 添加 `FLAG_KEEP_SCREEN_ON`,保留已有渠道、PiP 和键盘逻辑。
- iOS AppDelegate 开启 `isIdleTimerDisabled`,前台保持常亮。
- 用户主动暂停后回前台安全恢复;过期票据先完成重取再设置播放意图。
- locked、blocked、票据错误、会话错误、解锁/浮层遮挡和 PiP 场景不会强制续播。
- 后台仍立即保存进度并暂停,不做后台播放。
执行命令与原始输出:
```text
$ flutter test --no-pub test/player/player_logic_test.dart
00:00 +35: All tests passed!
$ dart analyze lib test
Analyzing lib, test...
No issues found!
$ flutter test --no-pub
00:50 +580: All tests passed!
```
解读:用户暂停恢复、过期票据重取、locked/ticketError/浮层阻断及后台保存暂停
均通过;全量静态分析零告警,580 项测试全过。`pubspec.lock` 已还原,
未启停服务,未操作真机。