diff --git a/mobile/lib/ui/viewer/file/zoomable_image.dart b/mobile/lib/ui/viewer/file/zoomable_image.dart index 0e75dee55..90a4fae25 100644 --- a/mobile/lib/ui/viewer/file/zoomable_image.dart +++ b/mobile/lib/ui/viewer/file/zoomable_image.dart @@ -297,22 +297,26 @@ class _ZoomableImageState extends State { unawaited(_loadInSupportedFormat(file)); } }, - ).then((value) async { + ).then((value) { if (mounted && !_loadedFinalImage && !_convertToSupportedFormat) { - await _updatePhotoViewController( - previewImageProvider: _imageProvider, - finalImageProvider: imageProvider, - ); - setState(() { - _imageProvider = imageProvider; - _loadedFinalImage = true; - _logger.info("Final image loaded"); - }); + _updateViewWithFinalImage(imageProvider); } }); } } + Future _updateViewWithFinalImage(ImageProvider imageProvider) async { + await _updatePhotoViewController( + previewImageProvider: _imageProvider, + finalImageProvider: imageProvider, + ); + setState(() { + _imageProvider = imageProvider; + _loadedFinalImage = true; + _logger.info("Final image loaded"); + }); + } + Future _updatePhotoViewController({ required ImageProvider? previewImageProvider, required ImageProvider finalImageProvider, @@ -378,17 +382,9 @@ class _ZoomableImageState extends State { final imageProvider = MemoryImage(compressedFile); unawaited( - precacheImage(imageProvider, context).then((value) async { + precacheImage(imageProvider, context).then((value) { if (mounted) { - await _updatePhotoViewController( - previewImageProvider: _imageProvider, - finalImageProvider: imageProvider, - ); - setState(() { - _imageProvider = imageProvider; - _loadedFinalImage = true; - _logger.info("Final image loaded"); - }); + _updateViewWithFinalImage(imageProvider); } }), );