BaseImageProvider constructor

BaseImageProvider({
  1. required Ref<Object?> ref,
  2. required _ImageProviderArguments providerArguments,
})

Implementation

BaseImageProvider({
  required this.ref,
  required this.providerArguments,
})  : key = providerArguments.image.key,
      super(_ImageProviderState.init()) {
  final _DecodedImage? decodedImage = DisposableImages.decodedImages._get(
    providerArguments.image,
  );

  if (decodedImage != null) {
    imageInfo = decodedImage.imageInfoData;

    handelImageProvider(
      imageResolverResult: decodedImage.imageResolverResult,
    );

    return;
  }

  final usedImageInfo = ref.read(_usedImageProvider).getImageInfo(key);

  if (usedImageInfo != null) {
    imageInfo = usedImageInfo;

    state = state.copyWith(
      isLoading: true,
      height: usedImageInfo.height,
      width: usedImageInfo.width,
    );

    handelImageProvider();

    return;
  }

  getImage();
}