@@ -74,7 +74,7 @@ class CachedNetworkImageProvider
74
74
DecoderBufferCallback decode,
75
75
) {
76
76
final chunkEvents = StreamController <ImageChunkEvent >();
77
- return MultiImageStreamCompleter (
77
+ final imageStreamCompleter = MultiImageStreamCompleter (
78
78
codec: _loadBufferAsync (key, chunkEvents, decode),
79
79
chunkEvents: chunkEvents.stream,
80
80
scale: key.scale,
@@ -86,6 +86,19 @@ class CachedNetworkImageProvider
86
86
);
87
87
},
88
88
);
89
+
90
+ if (errorListener != null ) {
91
+ imageStreamCompleter.addListener (
92
+ ImageStreamListener (
93
+ (image, synchronousCall) {},
94
+ onError: (Object error, StackTrace ? trace) {
95
+ errorListener? .call (error);
96
+ },
97
+ ),
98
+ );
99
+ }
100
+
101
+ return imageStreamCompleter;
89
102
}
90
103
91
104
@Deprecated ('_loadBufferAsync is deprecated, use _loadImageAsync instead' )
@@ -116,7 +129,7 @@ class CachedNetworkImageProvider
116
129
ImageDecoderCallback decode,
117
130
) {
118
131
final chunkEvents = StreamController <ImageChunkEvent >();
119
- return MultiImageStreamCompleter (
132
+ final imageStreamCompleter = MultiImageStreamCompleter (
120
133
codec: _loadImageAsync (key, chunkEvents, decode),
121
134
chunkEvents: chunkEvents.stream,
122
135
scale: key.scale,
@@ -128,6 +141,19 @@ class CachedNetworkImageProvider
128
141
);
129
142
},
130
143
);
144
+
145
+ if (errorListener != null ) {
146
+ imageStreamCompleter.addListener (
147
+ ImageStreamListener (
148
+ (image, synchronousCall) {},
149
+ onError: (Object error, StackTrace ? trace) {
150
+ errorListener? .call (error);
151
+ },
152
+ ),
153
+ );
154
+ }
155
+
156
+ return imageStreamCompleter;
131
157
}
132
158
133
159
Stream <ui.Codec > _loadImageAsync (
0 commit comments