* opt: tap

* revert: remove suspendedDm
This commit is contained in:
My-Responsitories
2025-10-27 21:32:39 +08:00
committed by GitHub
parent c3d3fa67f7
commit 2f6f6da6c0
2 changed files with 11 additions and 17 deletions

View File

@@ -8,7 +8,7 @@ class ImmediateTapGestureRecognizer extends OneSequenceGestureRecognizer {
super.allowedButtonsFilter,
this.onTapDown,
required this.onTapUp,
required this.onTapCancel,
this.onTapCancel,
this.onTap,
});
@@ -16,7 +16,7 @@ class ImmediateTapGestureRecognizer extends OneSequenceGestureRecognizer {
final GestureTapUpCallback onTapUp;
final GestureTapCancelCallback onTapCancel;
final GestureTapCancelCallback? onTapCancel;
final GestureTapCallback? onTap;
@@ -100,8 +100,8 @@ class ImmediateTapGestureRecognizer extends OneSequenceGestureRecognizer {
}
void _cancelGesture(String reason) {
if (_sentTapDown) {
invokeCallback<void>('onTapCancel: $reason', onTapCancel);
if (_sentTapDown && onTapCancel != null) {
invokeCallback<void>('onTapCancel: $reason', onTapCancel!);
}
_reset();
}

View File

@@ -152,13 +152,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
WakelockPlus.enable();
}
wakeLock = player?.stream.playing.listen(
(value) {
if (value) {
WakelockPlus.enable();
} else {
WakelockPlus.disable();
}
},
(v) => WakelockPlus.toggle(enable: v),
);
_controlsListener = plPlayerController.showControls.listen((bool val) {
@@ -234,11 +228,13 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
_danmakuListener = plPlayerController.enableShowDanmaku.listen((value) {
if (!value) _removeDmAction();
(_tapGestureRecognizer as ImmediateTapGestureRecognizer).onTapDown =
value ? _onTapDown : null;
_tapGestureRecognizer.onTapDown = value ? _onTapDown : null;
});
} else {
_tapGestureRecognizer = TapGestureRecognizer()..onTapUp = _onTapUp;
_tapGestureRecognizer = ImmediateTapGestureRecognizer(
onTapUp: _onTapUp,
allowedButtonsFilter: (buttons) => buttons == kPrimaryButton,
);
}
_doubleTapGestureRecognizer = DoubleTapGestureRecognizer()
@@ -1160,12 +1156,10 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
final item = ctr.findSingleDanmaku(pos);
if (item == null) {
_suspendedDm?.suspend = false;
_suspendedDm = null;
_dmOffset.value = null;
} else if (item != _suspendedDm) {
_suspendedDm?.suspend = false;
if (item.content.extra == null) {
_suspendedDm = null;
_dmOffset.value = null;
return;
}
@@ -1197,7 +1191,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
..onLongPressEnd = ((_) => plPlayerController.setLongPressStatus(false))
..onLongPressCancel = (() =>
plPlayerController.setLongPressStatus(false));
late final OneSequenceGestureRecognizer _tapGestureRecognizer;
late final ImmediateTapGestureRecognizer _tapGestureRecognizer;
late final DoubleTapGestureRecognizer _doubleTapGestureRecognizer;
StreamSubscription<bool>? _danmakuListener;