fix(player): restore OSD auto-hide

close #1360
This commit is contained in:
edde746
2026-06-18 10:18:57 +02:00
parent 52d70dd97d
commit 075e4aeb32
9 changed files with 82 additions and 18 deletions
@@ -71,6 +71,40 @@ void main() {
expect(controller.controlsVisible, isFalse);
});
testWidgets('show while paused restarts paused auto-hide timer', (tester) async {
final controller = PlayerChromeController();
addTearDown(controller.dispose);
controller.configure(hideDelay: const Duration(milliseconds: 100));
controller.setPlaying(true);
controller.setPlaying(false);
await tester.pump(const Duration(milliseconds: 50));
controller.show();
await tester.pump(const Duration(milliseconds: 99));
expect(controller.controlsVisible, isTrue);
await tester.pump(const Duration(milliseconds: 1));
expect(controller.controlsVisible, isFalse);
});
testWidgets('pointer activity while paused restarts paused auto-hide timer', (tester) async {
final controller = PlayerChromeController();
addTearDown(controller.dispose);
controller.configure(hideDelay: const Duration(milliseconds: 100));
controller.setPlaying(true);
controller.setPlaying(false);
await tester.pump(const Duration(milliseconds: 50));
expect(controller.recordPointerActivity(), isTrue);
await tester.pump(const Duration(milliseconds: 99));
expect(controller.controlsVisible, isTrue);
await tester.pump(const Duration(milliseconds: 1));
expect(controller.controlsVisible, isFalse);
});
test('show stores focus target and notifies even when already visible', () {
final controller = PlayerChromeController();
addTearDown(controller.dispose);