fix(mobile): video player initialization (#17778)

* fix(mobile): video player initialization

* nit
This commit is contained in:
Alex 2025-04-22 10:51:20 -05:00 committed by GitHub
parent fda68f972f
commit af36eaa61b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 12 deletions

View File

@ -63,9 +63,12 @@ class GalleryViewerPage extends HookConsumerWidget {
final loadAsset = renderList.loadAsset;
final isPlayingMotionVideo = ref.watch(isPlayingMotionVideoProvider);
// This key is to prevent the video player from being re-initialized during
// hero animation or device rotation.
final videoPlayerKey = useMemoized(() => GlobalKey());
final videoPlayerKeys = useRef<Map<int, GlobalKey>>({});
GlobalKey getVideoPlayerKey(int id) {
videoPlayerKeys.value.putIfAbsent(id, () => GlobalKey());
return videoPlayerKeys.value[id]!;
}
Future<void> precacheNextImage(int index) async {
if (!context.mounted) {
@ -243,7 +246,7 @@ class GalleryViewerPage extends HookConsumerWidget {
width: context.width,
height: context.height,
child: NativeVideoViewerPage(
key: videoPlayerKey,
key: getVideoPlayerKey(asset.id),
asset: asset,
image: Image(
key: ValueKey(asset),

View File

@ -12,14 +12,11 @@ class ImmichLogo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Hero(
tag: heroTag,
child: Image(
return Image(
image: const AssetImage('assets/immich-logo.png'),
width: size,
filterQuality: FilterQuality.high,
isAntiAlias: true,
),
);
}
}