ente/lib/utils/image_util.dart
2023-01-17 21:09:15 +05:30

18 lines
536 B
Dart

import 'dart:async';
import 'package:flutter/widgets.dart';
Future<ImageInfo> getImageInfo(ImageProvider imageProvider) {
final completer = Completer<ImageInfo>();
final imageStream = imageProvider.resolve(const ImageConfiguration());
final imageStreamListener = ImageStreamListener(
((imageInfo, _) {
completer.complete(imageInfo);
}),
);
imageStream.addListener(imageStreamListener);
completer.future
.whenComplete(() => imageStream.removeListener(imageStreamListener));
return completer.future;
}