Merge pull request #101 from parlough/fix/replace-deprecated-load-image-methods

Replace deprecated `ImageProvider` load methods in `RetryImage`
This commit is contained in:
Shawn 2023-08-29 10:56:17 -06:00 committed by GitHub
commit f2408b936c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -49,9 +49,10 @@ class RetryImage extends ImageProvider<Object> {
return completer.future; return completer.future;
} }
ImageStreamCompleter _commonLoad(ImageStreamCompleter Function() loader) { @override
ImageStreamCompleter loadImage(Object key, ImageDecoderCallback decode) {
final _DelegatingImageStreamCompleter completer = _DelegatingImageStreamCompleter(); final _DelegatingImageStreamCompleter completer = _DelegatingImageStreamCompleter();
ImageStreamCompleter completerToWrap = loader(); ImageStreamCompleter completerToWrap = imageProvider.loadImage(key, decode);
late ImageStreamListener listener; late ImageStreamListener listener;
Duration duration = const Duration(milliseconds: 250); Duration duration = const Duration(milliseconds: 250);
@ -69,7 +70,7 @@ class RetryImage extends ImageProvider<Object> {
} }
Future<void>.delayed(duration).then((void v) { Future<void>.delayed(duration).then((void v) {
duration *= 2; duration *= 2;
completerToWrap = loader(); completerToWrap = imageProvider.loadImage(key, decode);
count += 1; count += 1;
completerToWrap.addListener(listener); completerToWrap.addListener(listener);
}); });
@ -84,18 +85,6 @@ class RetryImage extends ImageProvider<Object> {
return completer; return completer;
} }
@override
// ignore: deprecated_member_use
ImageStreamCompleter load(Object key, DecoderCallback decode) {
// ignore: deprecated_member_use
return _commonLoad(() => imageProvider.load(key, decode));
}
@override
ImageStreamCompleter loadBuffer(Object key, DecoderBufferCallback decode) {
return _commonLoad(() => imageProvider.loadBuffer(key, decode));
}
@override @override
bool operator ==(Object other) { bool operator ==(Object other) {
if (other.runtimeType != runtimeType) { if (other.runtimeType != runtimeType) {