diff --git a/lib/helpers/mxc_image.dart b/lib/helpers/mxc_image.dart index 83a345a..c2f3a0c 100644 --- a/lib/helpers/mxc_image.dart +++ b/lib/helpers/mxc_image.dart @@ -1,5 +1,6 @@ import "dart:ui"; +import "package:flutter/foundation.dart"; import "package:flutter/widgets.dart"; import "package:flutter_riverpod/flutter_riverpod.dart"; import "package:nexus/controllers/client.dart"; @@ -9,19 +10,18 @@ class MxcImage(final WidgetRef ref, final DownloadMediaRequest request) extends ImageProvider { @override Future obtainKey(ImageConfiguration configuration) => - Future.value(this); + SynchronousFuture(this); @override ImageStreamCompleter loadImage(MxcImage key, ImageDecoderCallback decode) => - MultiFrameImageStreamCompleter(codec: _loadAsync(decode), scale: 1.0); + MultiFrameImageStreamCompleter(codec: _loadAsync(decode), scale: 1); Future _loadAsync(ImageDecoderCallback decode) async { final file = await ref .read(ClientController.provider.notifier) .downloadMedia(request); - final buffer = await ImmutableBuffer.fromFilePath(file.path); - return decode(buffer); + return decode(await ImmutableBuffer.fromFilePath(file.path)); } @override