diff --git a/mobile/lib/ui/viewer/file/zoomable_image.dart b/mobile/lib/ui/viewer/file/zoomable_image.dart index 74f5b9677..0e75dee55 100644 --- a/mobile/lib/ui/viewer/file/zoomable_image.dart +++ b/mobile/lib/ui/viewer/file/zoomable_image.dart @@ -196,11 +196,7 @@ class _ZoomableImageState extends State { _loadingFinalImage = true; getFileFromServer(_photo).then((file) { if (file != null) { - _onFinalImageLoaded( - Image.file( - file, - gaplessPlayback: true, - ).image, + _onFileLoaded( file, ); } else { @@ -242,8 +238,7 @@ class _ZoomableImageState extends State { _isGIF(), // since on iOS GIFs playback only when origin-files are loaded ).then((file) { if (file != null && file.existsSync()) { - _onFinalImageLoaded( - Image.file(file).image, + _onFileLoaded( file, ); } else { @@ -283,7 +278,12 @@ class _ZoomableImageState extends State { } } - void _onFinalImageLoaded(ImageProvider imageProvider, File file) { + void _onFileLoaded(File file) { + final imageProvider = Image.file( + file, + gaplessPlayback: true, + ).image; + if (mounted) { precacheImage( imageProvider,