provider static method

ImageProvider<Object> provider(
  1. String? source, {
  2. String? placeholder,
  3. ImageProvider<Object>? placeholderImage,
  4. int? maxWidth,
  5. int? maxHeight,
  6. Map<String, String>? headers,
  7. MErrorListener? errorListener,
  8. String? package,
  9. AssetBundle? bundle,
  10. double scale = 1.0,
  11. BaseCacheManager? cacheManager,
  12. String? cacheKey,
  13. MImageRenderMethodForWeb imageRenderMethodForWeb = MImageRenderMethodForWeb.HtmlImage,
})

Implementation

static ImageProvider provider(
  String? source, {
  String? placeholder,
  ImageProvider? placeholderImage,
  int? maxWidth,
  int? maxHeight,
  Map<String, String>? headers,
  MErrorListener? errorListener,
  String? package,
  AssetBundle? bundle,
  double scale = 1.0,
  BaseCacheManager? cacheManager,
  String? cacheKey,
  MImageRenderMethodForWeb imageRenderMethodForWeb = MImageRenderMethodForWeb.HtmlImage,
}) {
  if (source != null && source.isNotEmpty) {
    final uri = Uri.tryParse(source);
    if (uri != null && uri.hasScheme) {
      return MImageProvider(
        source,
        maxWidth: maxWidth,
        maxHeight: maxHeight,
        headers: headers ?? {'Cache-Control': 'max-age=2592000'},
        errorListener: errorListener,
        scale: scale,
        cacheKey: cacheKey,
        imageRenderMethodForWeb: imageRenderMethodForWeb,
        cacheManager: cacheManager,
      );
    }
    return AssetImage(
      source,
      package: package,
      bundle: bundle,
    );
  }
  if (placeholderImage != null) return placeholderImage;
  if (placeholder != null && placeholder.isNotEmpty) {
    return AssetImage(
      placeholder,
      package: package,
      bundle: bundle,
    );
  }
  return _errorImageProvider;
}