handleMethodCall method
Implementation
Future<dynamic> handleMethodCall(MethodCall call) async {
if (kIsWeb) {
switch (call.method) {
case 'joinRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('joinRoomJs', [jsData]);
break;
case 'setupVideo':
// jsData1 = JsObject.jsify(call.arguments);
// js.context.callMethod("createNativeView",[jsData1]);
break;
case 'publish':
js.context.callMethod('publish');
break;
case 'disconnect':
js.context.callMethod('disConnectRoom');
break;
case 'switchMediaDevice':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('switchMediaDevice', [jsData]);
break;
case 'getRole':
_jsRoleCallbackCompleter = Completer<dynamic>();
js.context.callMethod('getRole');
return _jsRoleCallbackCompleter.future;
case 'subscribe':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('subscribe', [jsData]);
break;
case 'muteSelfAudio':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('muteSelfAudio', [jsData]);
break;
case 'muteSelfVideo':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('muteSelfVideo', [jsData]);
break;
case 'switchCamera':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('switchCamera', [jsData]);
break;
case 'getDevices':
// Reset the Completer each time
_jsCallbackCompleter = Completer<List<dynamic>>();
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('getAllDevicesList', [jsData]);
return _jsCallbackCompleter.future;
case 'destroy':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('destroy', [jsData]);
break;
case 'extendConferenceDuration':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('extendConferenceDuration', [jsData]);
break;
case 'lockRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('lockRoom', [jsData]);
break;
case 'unLockRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('unlockRoom', [jsData]);
break;
case 'startRecord':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('startRecord', [jsData]);
break;
case 'stopRecord':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('stopRecord', [jsData]);
break;
case 'setTalkerCount':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('setTalkerCount', [jsData]);
break;
case 'getTalkerCount':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('getTalkerCount', [jsData]);
break;
case 'getMaxTalkers':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('getMaxTalkers', [jsData]);
break;
case 'hardMute':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('hardMute', [jsData]);
break;
case 'hardUnMute':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('hardUnMute', [jsData]);
break;
case 'hardMuteAudio':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('hardUnMute', [jsData]);
break;
case 'hardUnMuteAudio':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('hardUnMute', [jsData]);
break;
case 'hardMuteVideo':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('hardUnMute', [jsData]);
break;
case 'hardUnMuteVideo':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('hardUnMute', [jsData]);
break;
case 'approveAwaitedUser':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('approveAwaitedUser', [jsData]);
break;
case 'denyAwaitedUser':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('denyAwaitedUser', [jsData]);
break;
case 'switchUserRole':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('switchUserRole', [jsData]);
break;
case 'pinUsers':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('pinUsers', [jsData]);
break;
case 'unpinUsers':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('unpinUsers', [jsData]);
break;
case 'addSpotlightUsers':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('addSpotlightUsers', [jsData]);
break;
case 'removeSpotlightUsers':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('removeSpotlightUsers', [jsData]);
break;
case 'switchRoomMode':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('switchRoomMode', [jsData]);
break;
case 'sendMessage':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('sendMessage', [jsData]);
break;
case 'sendUserData':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('sendUserData', [jsData]);
break;
case 'sendFiles':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('sendFiles', [jsData]);
break;
case 'startScreenShare':
// var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('startScreenShare');
break;
case 'stopScreenShare':
// var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('stopScreenShare');
break;
case 'startAnnotation':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('startAnnotation', [jsData]);
break;
case 'stopAnnotation':
// var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('stopAnnotation');
break;
case 'startCanvas':
// var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('startCanvas');
break;
case 'stopCanvas':
// var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('stopCanvas');
break;
case 'startStreaming':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('startStreaming', [jsData]);
break;
case 'stopStreaming':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('stopStreaming', [jsData]);
break;
case 'startLiveRecording':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('startLiveRecording', [jsData]);
break;
case 'stopLiveRecording':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('stopLiveRecording', [jsData]);
break;
case 'startLiveTranscriptionForRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('startLiveTranscriptionForRoom', [jsData]);
break;
case 'stopLiveTranscription':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('stopLiveTranscription', [jsData]);
break;
case 'subscribeForTalkerNotification':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('subscribeForTalkerNotification', [jsData]);
break;
case 'enableStats':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('enableStats', [jsData]);
break;
case 'setAudioOnlyMode':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('setAudioOnlyMode', [jsData]);
break;
case 'makeOutboundCall':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('makeOutboundCall', [jsData]);
break;
case 'cancelOutboundCall':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('cancelOutboundCall', [jsData]);
break;
case 'sendDTMF':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('sendDTMF', [jsData]);
break;
case 'captureScreenShot':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('captureScreenShot', [jsData]);
break;
case 'requestFloor':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('requestFloor', [jsData]);
break;
case 'grantFloor':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('grantFloor', [jsData]);
break;
case 'cancelFloor':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('cancelFloor', [jsData]);
break;
case 'finishFloor':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('finishFloor', [jsData]);
break;
case 'denyFloor':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('denyFloor', [jsData]);
break;
case 'releaseFloor':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('releaseFloor', [jsData]);
break;
case 'inviteToFloor':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('inviteToFloor', [jsData]);
break;
case 'cancelFloorInvite':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('cancelFloorInvite', [jsData]);
break;
case 'rejectInviteFloor':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('rejectInviteFloor', [jsData]);
break;
case 'acceptInviteFloorRequest':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('acceptInviteFloorRequest', [jsData]);
break;
case 'createBreakOutRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('createBreakOutRoom', [jsData]);
break;
case 'createAndInviteBreakoutRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('createAndInviteBreakoutRoom', [jsData]);
break;
case 'joinBreakOutRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('joinBreakOutRoom', [jsData]);
break;
case 'inviteToBreakOutRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('inviteToBreakOutRoom', [jsData]);
break;
case 'pause':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('pause', [jsData]);
break;
case 'resume':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('resume', [jsData]);
break;
case 'muteRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('muteRoom', [jsData]);
break;
case 'unmuteRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('unmuteRoom', [jsData]);
break;
case 'rejectBreakOutRoom':
var jsData = JsObject.jsify(call.arguments);
js.context.callMethod('rejectBreakOutRoom', [jsData]);
break;
default:
throw PlatformException(
code: 'Unimplemented',
details: 'Method ${call.method} not implemented on web',
);
}
}
}