small improvements to file loading
This commit is contained in:
parent
e480e6193b
commit
9edaee6bea
1 changed files with 4 additions and 4 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
import "dart:ui";
|
import "dart:ui";
|
||||||
|
|
||||||
|
import "package:flutter/foundation.dart";
|
||||||
import "package:flutter/widgets.dart";
|
import "package:flutter/widgets.dart";
|
||||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||||
import "package:nexus/controllers/client.dart";
|
import "package:nexus/controllers/client.dart";
|
||||||
|
|
@ -9,19 +10,18 @@ class MxcImage(final WidgetRef ref, final DownloadMediaRequest request)
|
||||||
extends ImageProvider<MxcImage> {
|
extends ImageProvider<MxcImage> {
|
||||||
@override
|
@override
|
||||||
Future<MxcImage> obtainKey(ImageConfiguration configuration) =>
|
Future<MxcImage> obtainKey(ImageConfiguration configuration) =>
|
||||||
Future.value(this);
|
SynchronousFuture(this);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ImageStreamCompleter loadImage(MxcImage key, ImageDecoderCallback decode) =>
|
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 {
|
Future<Codec> _loadAsync(ImageDecoderCallback decode) async {
|
||||||
final file = await ref
|
final file = await ref
|
||||||
.read(ClientController.provider.notifier)
|
.read(ClientController.provider.notifier)
|
||||||
.downloadMedia(request);
|
.downloadMedia(request);
|
||||||
final buffer = await ImmutableBuffer.fromFilePath(file.path);
|
|
||||||
|
|
||||||
return decode(buffer);
|
return decode(await ImmutableBuffer.fromFilePath(file.path));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue