compatibility with flutter 3.0
This commit is contained in:
@@ -49,5 +49,7 @@
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user