1
0
mirror of https://github.com/immich-app/immich.git synced 2025-01-14 15:45:55 +02:00

Fixes hide on pause

This commit is contained in:
Marty Fuhry 2024-03-04 11:20:09 -05:00
parent f151e6cead
commit 2fdfee0162
No known key found for this signature in database
GPG Key ID: E2AB6392D894D900
2 changed files with 41 additions and 30 deletions

View File

@ -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(

View File

@ -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,
),
),
],
),
),
),
);