small improvements to file loading

This commit is contained in:
Henry Hiles 2026-10-03 21:59:45 -04:00
commit 9edaee6bea
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -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<MxcImage> {
@override
Future<MxcImage> 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<Codec> _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