warmUpImage method

void warmUpImage()

Implementation

void warmUpImage() {
  if (_prewarmImageStream != null) return;
  final ImageProvider? provider = image;
  if (provider == null) return;

  final ImageStream stream = provider.resolve(ImageConfiguration.empty);
  late final ImageStreamListener listener;
  listener = ImageStreamListener(
    (ImageInfo imageInfo, bool synchronousCall) {
      try {
        renderStyle.markNeedsPaint();
      } catch (_) {}
      _prewarmImageStream?.removeListener(listener);
      _prewarmImageStream = null;
      _prewarmImageListener = null;
    },
    onError: (_, __) {
      _prewarmImageStream?.removeListener(listener);
      _prewarmImageStream = null;
      _prewarmImageListener = null;
    },
  );
  _prewarmImageStream = stream;
  _prewarmImageListener = listener;
  stream.addListener(listener);
}