@@ -232,13 +232,16 @@ void main() {
232
232
});
233
233
234
234
test ('videoEventsFor' , () async {
235
- ServicesBinding .instance? .defaultBinaryMessenger.setMockMessageHandler (
235
+ _ambiguate (ServicesBinding .instance)
236
+ ? .defaultBinaryMessenger
237
+ .setMockMessageHandler (
236
238
"flutter.io/videoPlayer/videoEvents123" ,
237
239
(ByteData ? message) async {
238
240
final MethodCall methodCall =
239
241
const StandardMethodCodec ().decodeMethodCall (message);
240
242
if (methodCall.method == 'listen' ) {
241
- await ServicesBinding .instance? .defaultBinaryMessenger
243
+ await _ambiguate (ServicesBinding .instance)
244
+ ? .defaultBinaryMessenger
242
245
.handlePlatformMessage (
243
246
"flutter.io/videoPlayer/videoEvents123" ,
244
247
const StandardMethodCodec ()
@@ -250,7 +253,8 @@ void main() {
250
253
}),
251
254
(ByteData ? data) {});
252
255
253
- await ServicesBinding .instance? .defaultBinaryMessenger
256
+ await _ambiguate (ServicesBinding .instance)
257
+ ? .defaultBinaryMessenger
254
258
.handlePlatformMessage (
255
259
"flutter.io/videoPlayer/videoEvents123" ,
256
260
const StandardMethodCodec ()
@@ -259,7 +263,8 @@ void main() {
259
263
}),
260
264
(ByteData ? data) {});
261
265
262
- await ServicesBinding .instance? .defaultBinaryMessenger
266
+ await _ambiguate (ServicesBinding .instance)
267
+ ? .defaultBinaryMessenger
263
268
.handlePlatformMessage (
264
269
"flutter.io/videoPlayer/videoEvents123" ,
265
270
const StandardMethodCodec ()
@@ -272,7 +277,8 @@ void main() {
272
277
}),
273
278
(ByteData ? data) {});
274
279
275
- await ServicesBinding .instance? .defaultBinaryMessenger
280
+ await _ambiguate (ServicesBinding .instance)
281
+ ? .defaultBinaryMessenger
276
282
.handlePlatformMessage (
277
283
"flutter.io/videoPlayer/videoEvents123" ,
278
284
const StandardMethodCodec ()
@@ -281,7 +287,8 @@ void main() {
281
287
}),
282
288
(ByteData ? data) {});
283
289
284
- await ServicesBinding .instance? .defaultBinaryMessenger
290
+ await _ambiguate (ServicesBinding .instance)
291
+ ? .defaultBinaryMessenger
285
292
.handlePlatformMessage (
286
293
"flutter.io/videoPlayer/videoEvents123" ,
287
294
const StandardMethodCodec ()
@@ -325,3 +332,10 @@ void main() {
325
332
});
326
333
});
327
334
}
335
+
336
+ /// This allows a value of type T or T? to be treated as a value of type T?.
337
+ ///
338
+ /// We use this so that APIs that have become non-nullable can still be used
339
+ /// with `!` and `?` on the stable branch.
340
+ // TODO(ianh): Remove this once we roll stable in late 2021.
341
+ T ? _ambiguate <T >(T ? value) => value;
0 commit comments