ente/mobile/lib/utils/image_util.dart

17 lines
496 B
Dart
Raw Normal View History

import 'dart:async';
import 'package:flutter/widgets.dart';
Future<ImageInfo> getImageInfo(ImageProvider imageProvider) {
final completer = Completer<ImageInfo>();
final imageStream = imageProvider.resolve(const ImageConfiguration());
2023-01-17 15:43:04 +00:00
final listener = ImageStreamListener(
((imageInfo, _) {
completer.complete(imageInfo);
}),
);
2023-01-17 15:43:04 +00:00
imageStream.addListener(listener);
completer.future.whenComplete(() => imageStream.removeListener(listener));
return completer.future;
}