Files
upstream-jitsi-meet/react/features/mobile/call-integration/ConnectionService.ts
upstream-mirror 1d2bfcac0c
Some checks failed
Prosody Plugin Tests / test (push) Failing after 10m11s
Close stale issues and PRs / stale (push) Failing after 1s
snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
2026-09-15 15:56:32 +05:00

42 lines
1.4 KiB
TypeScript

import { NativeEventEmitter, NativeModules } from 'react-native';
const RNConnectionService = NativeModules.ConnectionService;
// Use a proxy because spreading a new arch native module silently loses its methods.
let ConnectionService: any;
if (RNConnectionService) {
const eventEmitter = new NativeEventEmitter(RNConnectionService);
const augmented: Record<string, any> = {
addListener: eventEmitter.addListener.bind(eventEmitter),
registerSubscriptions(context: any, delegate: any) {
return [
eventEmitter.addListener(
'org.jitsi.meet:features/connection_service#disconnect',
delegate._onPerformEndCallAction,
context),
eventEmitter.addListener(
'org.jitsi.meet:features/connection_service#abort',
delegate._onPerformEndCallAction,
context)
];
},
setMuted() {
// Currently no-op, but remember to remove when implemented on
// the native side
}
};
ConnectionService = new Proxy(RNConnectionService, {
get(target, prop, receiver) {
if (prop in augmented) {
return augmented[prop as string];
}
return Reflect.get(target, prop, receiver);
}
});
}
export default ConnectionService;