Files
bigbluebutton-tablet-sdk/src/events/onScreenShareLocalIceCandidate.tsx
Tiago Jacobs e200c0e7e0 Project re-initialization with latest react native (#19)
* Project re-initialization with latest react native (npx create-react-native-library)
2022-08-16 08:08:40 -03:00

25 lines
849 B
TypeScript

import type { MutableRefObject } from 'react';
import type { EmitterSubscription } from 'react-native';
import nativeEmitter from '../native-messaging/emitter';
export function setupListener(
_webViewRef: MutableRefObject<any>
): EmitterSubscription {
// Resolve promise when SDP offer is available
return nativeEmitter.addListener(
'onScreenShareLocalIceCandidate',
(jsonEncodedIceCandidate) => {
let iceCandidate = JSON.parse(jsonEncodedIceCandidate);
if (typeof iceCandidate === 'string') {
iceCandidate = JSON.parse(iceCandidate);
}
const event = { candidate: iceCandidate };
_webViewRef.current.injectJavaScript(
`window.bbbMobileScreenShareIceCandidateCallback && window.bbbMobileScreenShareIceCandidateCallback(${JSON.stringify(
event
)});`
);
}
);
}