compatibility with flutter 3.0

This commit is contained in:
Hiroshi Horie
2022-05-15 20:56:20 +09:00
parent 365c68c709
commit 566937f630
6 changed files with 16 additions and 5 deletions
+2
View File
@@ -49,5 +49,7 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
</dict>
</plist>
+3 -2
View File
@@ -32,7 +32,8 @@ class _RoomPageState extends State<RoomPage> {
widget.room.addListener(_onRoomDidUpdate);
_setUpListeners();
_sortParticipants();
WidgetsBinding.instance?.addPostFrameCallback((_) => _askPublish());
WidgetsBindingCompatible.instance
?.addPostFrameCallback((_) => _askPublish());
}
@override
@@ -48,7 +49,7 @@ class _RoomPageState extends State<RoomPage> {
void _setUpListeners() => _listener
..on<RoomDisconnectedEvent>((_) async {
WidgetsBinding.instance
WidgetsBindingCompatible.instance
?.addPostFrameCallback((timeStamp) => Navigator.pop(context));
})
..on<DataReceivedEvent>((event) {
+1 -1
View File
@@ -42,7 +42,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
device_info_plus_macos: 1ad388a1ef433505c4038e7dd9605aadd1e2e9c7
flutter_webrtc: cbfa010d869391079d6713d9e0f1cda7dde7a407
flutter_webrtc: 949e056193e40c1f565f65b4cb680ac001120a72
FlutterMacOS: 57701585bf7de1b3fc2bb61f6378d73bbdea8424
livekit_client: 9201d814b9d5c7c6c0b0edabb341ba1a5253981b
path_provider_macos: 160cab0d5461f0c0e02995469a98f24bdb9a3f1f
+1
View File
@@ -29,3 +29,4 @@ export 'src/types/video_dimensions.dart';
export 'src/types/video_encoding.dart';
export 'src/types/video_parameters.dart';
export 'src/widget/video_track_renderer.dart';
export 'src/extensions.dart' show WidgetsBindingCompatible;
+6
View File
@@ -1,5 +1,6 @@
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
import 'events.dart';
@@ -160,3 +161,8 @@ extension ParticipantTrackPermissionExt on ParticipantTrackPermission {
trackSids: allowedTrackSids,
);
}
extension WidgetsBindingCompatible on WidgetsBinding {
// always return optional type for compatibility with flutter v2 and v3
static WidgetsBinding? get instance => WidgetsBinding.instance;
}
+3 -2
View File
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
import '../events.dart';
import '../extensions.dart';
import '../internal/events.dart';
import '../managers/event.dart';
import '../track/local/local.dart';
@@ -83,7 +83,8 @@ class _VideoTrackRendererState extends State<VideoTrackRenderer> {
key: _internalKey,
builder: (ctx) {
// let it render before notifying build
WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
WidgetsBindingCompatible.instance
?.addPostFrameCallback((timeStamp) {
widget.track.onVideoViewBuild?.call(_internalKey);
});
return rtc.RTCVideoView(