ente/mobile/lib/utils/image_util.dart
2024-03-01 12:25:37 +05:30

17 lines
496 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 listener = ImageStreamListener(
((imageInfo, _) {
completer.complete(imageInfo);
}),
);
imageStream.addListener(listener);
completer.future.whenComplete(() => imageStream.removeListener(listener));
return completer.future;
}