diff --git a/mobile/lib/modules/asset_viewer/ui/custom_video_player_controls.dart b/mobile/lib/modules/asset_viewer/ui/custom_video_player_controls.dart index aa78f9f86e..ea6cc8f280 100644 --- a/mobile/lib/modules/asset_viewer/ui/custom_video_player_controls.dart +++ b/mobile/lib/modules/asset_viewer/ui/custom_video_player_controls.dart @@ -22,7 +22,11 @@ class CustomVideoPlayerControls extends HookConsumerWidget { final hideTimer = useTimer( hideTimerDuration, () { - ref.read(showControlsProvider.notifier).show = false; + final state = ref.read(videoPlaybackValueProvider).state; + // Do not hide on paused + if (state != VideoPlaybackState.paused) { + ref.read(showControlsProvider.notifier).show = false; + } }, ); @@ -68,7 +72,7 @@ class CustomVideoPlayerControls extends HookConsumerWidget { } return GestureDetector( - onTap: () => showControlsAndStartHideTimer(), + onTap: showControlsAndStartHideTimer, child: AbsorbPointer( absorbing: !ref.watch(showControlsProvider), child: Stack( diff --git a/mobile/lib/modules/asset_viewer/views/video_viewer_page.dart b/mobile/lib/modules/asset_viewer/views/video_viewer_page.dart index 834918785b..76ce79095d 100644 --- a/mobile/lib/modules/asset_viewer/views/video_viewer_page.dart +++ b/mobile/lib/modules/asset_viewer/views/video_viewer_page.dart @@ -135,39 +135,46 @@ class VideoViewerPage extends HookConsumerWidget { ); final size = MediaQuery.of(context).size; - return PopScope( - onPopInvoked: (pop) { - ref.read(videoPlaybackValueProvider.notifier).value = - VideoPlaybackValue.uninitialized(); + return GestureDetector( + onTap: () { + if (ref.read(showControlsProvider)) { + ref.read(showControlsProvider.notifier).show = false; + } }, - child: AnimatedSwitcher( - duration: const Duration(milliseconds: 400), - child: Stack( - children: [ - Visibility( - visible: controller == null, - child: Stack( - children: [ - if (placeholder != null) placeholder!, - const Positioned.fill( - child: Center( - child: DelayedLoadingIndicator( - fadeInDuration: Duration(milliseconds: 500), + child: PopScope( + onPopInvoked: (pop) { + ref.read(videoPlaybackValueProvider.notifier).value = + VideoPlaybackValue.uninitialized(); + }, + child: AnimatedSwitcher( + duration: const Duration(milliseconds: 400), + child: Stack( + children: [ + Visibility( + visible: controller == null, + child: Stack( + children: [ + if (placeholder != null) placeholder!, + const Positioned.fill( + child: Center( + child: DelayedLoadingIndicator( + fadeInDuration: Duration(milliseconds: 500), + ), ), ), - ), - ], - ), - ), - if (controller != null) - SizedBox( - height: size.height, - width: size.width, - child: Chewie( - controller: controller, + ], ), ), - ], + if (controller != null) + SizedBox( + height: size.height, + width: size.width, + child: Chewie( + controller: controller, + ), + ), + ], + ), ), ), );