join method
Implementation
Future<bool> join() async {
// call after config method
debugPrint('join meeting');
bool audioPermissions =
await methodChannelProvider.requestAudioPermissions();
bool videoPermissions =
await methodChannelProvider.requestVideoPermissions();
// Create error messages for incorrect permissions
if (!_checkPermissions(audioPermissions, videoPermissions)) {
return false;
}
// Check if device is connected to the internet
bool deviceIsConnected = await _isConnectedToInternet();
if (!deviceIsConnected) {
// Response.not_connected_to_internet
return false;
}
// Send JSON to iOS
MethodChannelResponse? joinResponse = await methodChannelProvider
.callMethod(MethodCallOption.join, meetingData.toJson());
if (joinResponse == null) {
// Response.null_join_response
return false;
}
if (joinResponse.result) {
await listAudioDevices();
await initialAudioSelection();
await toggleMute(unmute: false);
return true;
} else {
// To do error
return false;
}
}