Skip to content

Commit a443648

Browse files
committed
Add typedef for ErrorListener
1 parent 7828f43 commit a443648

File tree

5 files changed

+23
-21
lines changed

5 files changed

+23
-21
lines changed

cached_network_image/lib/src/image_provider/_image_loader.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class ImageLoader implements platform.ImageLoader {
2323
int? maxHeight,
2424
int? maxWidth,
2525
Map<String, String>? headers,
26+
VoidCallback? errorListener,
2627
ImageRenderMethodForWeb imageRenderMethodForWeb,
2728
VoidCallback evictImage,
2829
) {
@@ -38,7 +39,7 @@ class ImageLoader implements platform.ImageLoader {
3839
maxHeight,
3940
maxWidth,
4041
headers,
41-
(_) {},
42+
(_) => errorListener?.call(),
4243
imageRenderMethodForWeb,
4344
evictImage,
4445
);
@@ -54,7 +55,7 @@ class ImageLoader implements platform.ImageLoader {
5455
int? maxHeight,
5556
int? maxWidth,
5657
Map<String, String>? headers,
57-
ValueChanged<Object>? errorListener,
58+
ErrorListener? errorListener,
5859
ImageRenderMethodForWeb imageRenderMethodForWeb,
5960
VoidCallback evictImage,
6061
) {
@@ -80,12 +81,12 @@ class ImageLoader implements platform.ImageLoader {
8081
String url,
8182
String? cacheKey,
8283
StreamController<ImageChunkEvent> chunkEvents,
83-
_FileDecoderCallback decode,
84+
Future<ui.Codec> Function(Uint8List) decode,
8485
BaseCacheManager cacheManager,
8586
int? maxHeight,
8687
int? maxWidth,
8788
Map<String, String>? headers,
88-
ValueChanged<Object>? errorListener,
89+
ErrorListener? errorListener,
8990
ImageRenderMethodForWeb imageRenderMethodForWeb,
9091
VoidCallback evictImage,
9192
) async* {
@@ -143,5 +144,3 @@ class ImageLoader implements platform.ImageLoader {
143144
await chunkEvents.close();
144145
}
145146
}
146-
147-
typedef _FileDecoderCallback = Future<ui.Codec> Function(Uint8List);

cached_network_image/lib/src/image_provider/cached_network_image_provider.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'dart:ui' as ui show Codec;
33

44
import 'package:cached_network_image/src/image_provider/multi_image_stream_completer.dart';
55
import 'package:cached_network_image_platform_interface/cached_network_image_platform_interface.dart'
6-
show ImageRenderMethodForWeb;
6+
show ErrorListener, ImageRenderMethodForWeb;
77
import 'package:cached_network_image_platform_interface/cached_network_image_platform_interface.dart'
88
if (dart.library.io) '_image_loader.dart'
99
if (dart.library.html) 'package:cached_network_image_web/cached_network_image_web.dart'
@@ -44,7 +44,7 @@ class CachedNetworkImageProvider
4444
final double scale;
4545

4646
/// Listener to be called when images fails to load.
47-
final ValueChanged<Object>? errorListener;
47+
final ErrorListener? errorListener;
4848

4949
/// Set headers for the image provider, for example for authentication
5050
final Map<String, String>? headers;
@@ -104,6 +104,7 @@ class CachedNetworkImageProvider
104104
maxHeight,
105105
maxWidth,
106106
headers,
107+
() => errorListener,
107108
imageRenderMethodForWeb,
108109
() => PaintingBinding.instance.imageCache.evict(key),
109110
);

cached_network_image/test/image_provider_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ void main() {
142142
events.add(event);
143143
},
144144
onError: (Object error, StackTrace? stackTrace) {
145-
imageAvailable.completeError(error as Object, stackTrace);
145+
imageAvailable.completeError(error, stackTrace);
146146
},
147147
),
148148
);

cached_network_image_platform_interface/lib/cached_network_image_platform_interface.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import 'dart:ui' as ui;
77
import 'package:flutter/material.dart';
88
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
99

10+
/// Listener for errors
11+
typedef ErrorListener = void Function(Object);
12+
1013
/// Render options for images on the web platform.
1114
enum ImageRenderMethodForWeb {
1215
/// HtmlImage uses a default web image including default browser caching.
@@ -32,6 +35,7 @@ class ImageLoader {
3235
int? maxHeight,
3336
int? maxWidth,
3437
Map<String, String>? headers,
38+
VoidCallback? errorListener,
3539
ImageRenderMethodForWeb imageRenderMethodForWeb,
3640
VoidCallback evictImage,
3741
) {
@@ -49,7 +53,7 @@ class ImageLoader {
4953
int? maxHeight,
5054
int? maxWidth,
5155
Map<String, String>? headers,
52-
ValueChanged<Object>? errorListener,
56+
ErrorListener? errorListener,
5357
ImageRenderMethodForWeb imageRenderMethodForWeb,
5458
VoidCallback evictImage,
5559
) {

cached_network_image_web/lib/cached_network_image_web.dart

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ import 'dart:ui' as ui;
77

88
import 'package:cached_network_image_platform_interface'
99
'/cached_network_image_platform_interface.dart' as platform
10-
show ImageLoader;
11-
import 'package:cached_network_image_platform_interface'
12-
'/cached_network_image_platform_interface.dart'
13-
show ImageRenderMethodForWeb;
10+
show ImageLoader, ErrorListener, ImageRenderMethodForWeb;
1411
import 'package:flutter/material.dart';
1512
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
1613

@@ -27,7 +24,8 @@ class ImageLoader implements platform.ImageLoader {
2724
int? maxHeight,
2825
int? maxWidth,
2926
Map<String, String>? headers,
30-
ImageRenderMethodForWeb imageRenderMethodForWeb,
27+
VoidCallback? errorListener,
28+
platform.ImageRenderMethodForWeb imageRenderMethodForWeb,
3129
VoidCallback evictImage,
3230
) {
3331
return _load(
@@ -59,7 +57,7 @@ class ImageLoader implements platform.ImageLoader {
5957
int? maxWidth,
6058
Map<String, String>? headers,
6159
ValueChanged<Object>? errorListener,
62-
ImageRenderMethodForWeb imageRenderMethodForWeb,
60+
platform.ImageRenderMethodForWeb imageRenderMethodForWeb,
6361
VoidCallback evictImage,
6462
) {
6563
return _load(
@@ -89,12 +87,12 @@ class ImageLoader implements platform.ImageLoader {
8987
int? maxHeight,
9088
int? maxWidth,
9189
Map<String, String>? headers,
92-
ValueChanged<Object>? errorListener,
93-
ImageRenderMethodForWeb imageRenderMethodForWeb,
90+
platform.ErrorListener? errorListener,
91+
platform.ImageRenderMethodForWeb imageRenderMethodForWeb,
9492
VoidCallback evictImage,
9593
) {
9694
switch (imageRenderMethodForWeb) {
97-
case ImageRenderMethodForWeb.HttpGet:
95+
case platform.ImageRenderMethodForWeb.HttpGet:
9896
return _loadAsyncHttpGet(
9997
url,
10098
cacheKey,
@@ -107,7 +105,7 @@ class ImageLoader implements platform.ImageLoader {
107105
errorListener,
108106
evictImage,
109107
);
110-
case ImageRenderMethodForWeb.HtmlImage:
108+
case platform.ImageRenderMethodForWeb.HtmlImage:
111109
return _loadAsyncHtmlImage(url, chunkEvents).asStream();
112110
}
113111
}
@@ -121,7 +119,7 @@ class ImageLoader implements platform.ImageLoader {
121119
int? maxHeight,
122120
int? maxWidth,
123121
Map<String, String>? headers,
124-
ValueChanged<Object>? errorListener,
122+
platform.ErrorListener? errorListener,
125123
VoidCallback evictImage,
126124
) async* {
127125
try {

0 commit comments

Comments
 (0)