edoctor-sendbird-calls 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +33 -0
  3. package/android/build.gradle +82 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +34 -0
  6. package/android/src/main/AndroidManifestNew.xml +2 -0
  7. package/android/src/main/java/com/edoctorsendbirdcalls/ComingCallActivity.java +41 -0
  8. package/android/src/main/java/com/edoctorsendbirdcalls/RNSendBirdCallsModule.java +2068 -0
  9. package/android/src/main/java/com/edoctorsendbirdcalls/RNSendBirdCallsPackage.java +32 -0
  10. package/android/src/main/java/com/edoctorsendbirdcalls/RNVSendBirdCallsVideo.java +10 -0
  11. package/android/src/main/java/com/edoctorsendbirdcalls/RNVSendBirdCallsVideoManager.java +77 -0
  12. package/android/src/main/java/com/edoctorsendbirdcalls/RNVideoViewGroup.java +109 -0
  13. package/android/src/main/java/com/edoctorsendbirdcalls/SharedUtils.java +127 -0
  14. package/android/src/main/java/com/edoctorsendbirdcalls/VcCallReceiver.java +37 -0
  15. package/android/src/main/java/com/edoctorsendbirdcalls/VcHeadlessService.java +23 -0
  16. package/android/src/main/java/com/edoctorsendbirdcalls/VoIPBaseService.java +100 -0
  17. package/android/src/main/java/com/edoctorsendbirdcalls/VoIPService.java +164 -0
  18. package/android/src/main/java/com/edoctorsendbirdcalls/XiaomiUtilities.java +75 -0
  19. package/android/src/main/res/drawable/bar_selector_white.xml +18 -0
  20. package/android/src/main/res/drawable/button_answer.xml +8 -0
  21. package/android/src/main/res/drawable/button_reject.xml +8 -0
  22. package/android/src/main/res/drawable/call_notification_line.xml +8 -0
  23. package/android/src/main/res/drawable/ic_answer.xml +5 -0
  24. package/android/src/main/res/drawable/ic_call_notification_answer.xml +6 -0
  25. package/android/src/main/res/drawable/ic_call_notification_decline.xml +9 -0
  26. package/android/src/main/res/drawable/ic_reject.xml +5 -0
  27. package/android/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  28. package/android/src/main/res/layout/call_notification.xml +124 -0
  29. package/edoctor-sendbird-calls.podspec +27 -0
  30. package/ios/CXCallManager.swift +211 -0
  31. package/ios/CXProvider.swift +38 -0
  32. package/ios/Extensions/UIKit/UIColor.swift +30 -0
  33. package/ios/Extensions/UIKit/UIView+Extension.swift +61 -0
  34. package/ios/Extensions/UIKit/UIViewController.swift +28 -0
  35. package/ios/PrivacyInfo.xcprivacy +47 -0
  36. package/ios/RNSendBirdCalls-Bridging-Header.h +3 -0
  37. package/ios/RNSendBirdCalls.mm +94 -0
  38. package/ios/RNSendBirdCalls.swift +549 -0
  39. package/ios/RNSendBirdCallsHelper.swift +28 -0
  40. package/ios/RNVSendBirdCallsVideo.swift +55 -0
  41. package/ios/RNVSendBirdCallsVideoManager.mm +6 -0
  42. package/ios/RNVSendBirdCallsVideoManager.swift +15 -0
  43. package/ios/SendBirdCallsExtentions.swift +46 -0
  44. package/lib/module/SendBirdCalls.js +377 -0
  45. package/lib/module/SendBirdCalls.js.map +1 -0
  46. package/lib/module/SendBirdCallsEvents.js +108 -0
  47. package/lib/module/SendBirdCallsEvents.js.map +1 -0
  48. package/lib/module/SendBirdCallsVideo.js +33 -0
  49. package/lib/module/SendBirdCallsVideo.js.map +1 -0
  50. package/lib/module/index.js +14 -0
  51. package/lib/module/index.js.map +1 -0
  52. package/lib/module/index.type.js +2 -0
  53. package/lib/module/index.type.js.map +1 -0
  54. package/lib/module/package.json +1 -0
  55. package/lib/typescript/package.json +1 -0
  56. package/lib/typescript/src/SendBirdCalls.d.ts +63 -0
  57. package/lib/typescript/src/SendBirdCalls.d.ts.map +1 -0
  58. package/lib/typescript/src/SendBirdCallsEvents.d.ts +36 -0
  59. package/lib/typescript/src/SendBirdCallsEvents.d.ts.map +1 -0
  60. package/lib/typescript/src/SendBirdCallsVideo.d.ts +18 -0
  61. package/lib/typescript/src/SendBirdCallsVideo.d.ts.map +1 -0
  62. package/lib/typescript/src/index.d.ts +5 -0
  63. package/lib/typescript/src/index.d.ts.map +1 -0
  64. package/lib/typescript/src/index.type.d.ts +14 -0
  65. package/lib/typescript/src/index.type.d.ts.map +1 -0
  66. package/package.json +154 -0
  67. package/src/SendBirdCalls.ts +472 -0
  68. package/src/SendBirdCallsEvents.ts +141 -0
  69. package/src/SendBirdCallsVideo.tsx +44 -0
  70. package/src/index.tsx +11 -0
  71. package/src/index.type.ts +20 -0
@@ -0,0 +1,46 @@
1
+ //
2
+ // SendBirdCall+QuickStart.swift
3
+ // QuickStart
4
+ //
5
+ // Created by Jaesung Lee on 2020/04/13.
6
+ // Copyright © 2020 Sendbird Inc. All rights reserved.
7
+ //
8
+
9
+ import UIKit
10
+ import SendBirdCalls
11
+
12
+ extension SendBirdCall {
13
+ /**
14
+ This method uses when,
15
+ - the user makes outgoing calls from native call history("Recents")
16
+ - the provider performs the specified end(decline) or answer call action.
17
+ */
18
+ static func authenticateIfNeed(completionHandler: @escaping (Error?) -> Void) {
19
+ guard SendBirdCall.currentUser == nil else {
20
+ completionHandler(nil)
21
+ return
22
+ }
23
+
24
+ // guard let credential = UserDefaults.standard.credential else { return }
25
+
26
+ // let params = AuthenticateParams(userId: credential.userId, accessToken: credential.accessToken)
27
+ // SendBirdCall.authenticate(with: params) { (_, error) in
28
+ // completionHandler(error)
29
+ // }
30
+ }
31
+
32
+ static func dial(with dialParams: DialParams) {
33
+ SendBirdCall.dial(with: dialParams) { call, error in
34
+ guard let call = call, error == nil else {
35
+ print("UIApplication.shared.showError")
36
+ // UIApplication.shared.showError(with: error?.localizedDescription)
37
+
38
+ return
39
+ }
40
+
41
+ print("UIApplication.shared.showCallController")
42
+ // UIApplication.shared.showCallController(with: call)
43
+ }
44
+ }
45
+ }
46
+
@@ -0,0 +1,377 @@
1
+ "use strict";
2
+
3
+ import { NativeModules, Platform } from 'react-native';
4
+ const RNSendBirdCalls = NativeModules.RNSendBirdCalls;
5
+ const isIOS = Platform.OS === 'ios';
6
+
7
+ // Types for better type safety
8
+
9
+ export default (function SendBirdCalls() {
10
+ // MARK: - Authentication
11
+ const authenticate = async (userId, accessToken) => {
12
+ try {
13
+ return await RNSendBirdCalls.authenticate(userId, accessToken ?? '');
14
+ } catch (error) {
15
+ console.log('error at authenticate', error);
16
+ return undefined;
17
+ }
18
+ };
19
+ const deAuthenticate = async () => {
20
+ try {
21
+ return await RNSendBirdCalls.deAuthenticate();
22
+ } catch (error) {
23
+ console.log('error at deAuthenticate', error);
24
+ return undefined;
25
+ }
26
+ };
27
+
28
+ // MARK: - Initialization
29
+ const initSendBird = async appId => {
30
+ try {
31
+ return await RNSendBirdCalls.initSendBird(appId);
32
+ } catch (error) {
33
+ console.log('error at initSendBird', error);
34
+ return undefined;
35
+ }
36
+ };
37
+ const shareStorage = appId => {
38
+ try {
39
+ RNSendBirdCalls.shareStorage(appId);
40
+ } catch (error) {
41
+ console.log('error at shareStorage', error);
42
+ }
43
+ };
44
+
45
+ // MARK: - VoIP and Push Notifications
46
+ const voipRegistry = () => {
47
+ try {
48
+ if (isIOS) {
49
+ RNSendBirdCalls.voipRegistry();
50
+ }
51
+ } catch (error) {
52
+ console.log('error at voipRegistry', error);
53
+ }
54
+ };
55
+ const registerPushToken = async token => {
56
+ try {
57
+ if (!isIOS) {
58
+ return await RNSendBirdCalls.registerPushToken(token);
59
+ }
60
+ return {
61
+ succeeded: false,
62
+ errorMessage: 'Not supported on iOS'
63
+ };
64
+ } catch (error) {
65
+ console.log('error at registerPushToken', error);
66
+ return undefined;
67
+ }
68
+ };
69
+ const unregisterPushToken = async token => {
70
+ try {
71
+ if (!isIOS) {
72
+ return await RNSendBirdCalls.unregisterPushToken(token);
73
+ }
74
+ return {
75
+ succeeded: false,
76
+ errorMessage: 'Not supported on iOS'
77
+ };
78
+ } catch (error) {
79
+ console.log('error at unregisterPushToken', error);
80
+ return undefined;
81
+ }
82
+ };
83
+
84
+ // MARK: - Call Management
85
+ const dial = async (calleeId, isVideoCall, isVideoEnable = true, isAudioEnable = true, appointmentScheduleId, eClinicId) => {
86
+ try {
87
+ return await RNSendBirdCalls.dial(calleeId, isVideoCall, isVideoEnable, isAudioEnable, appointmentScheduleId, eClinicId);
88
+ } catch (error) {
89
+ console.log('error at dial', error);
90
+ return undefined;
91
+ }
92
+ };
93
+ const acceptCall = async (callId, isVideoEnable = true, isAudioEnable = true) => {
94
+ try {
95
+ return await RNSendBirdCalls.acceptCall(callId, isVideoEnable, isAudioEnable);
96
+ } catch (error) {
97
+ console.log('error at acceptCall', error);
98
+ return undefined;
99
+ }
100
+ };
101
+ const endCall = async () => {
102
+ try {
103
+ return await RNSendBirdCalls.endCall();
104
+ } catch (error) {
105
+ console.log('error at endCall', error);
106
+ return undefined;
107
+ }
108
+ };
109
+ const endAllCalls = async () => {
110
+ try {
111
+ return await RNSendBirdCalls.endAllCalls();
112
+ } catch (error) {
113
+ console.log('error at endAllCalls', error);
114
+ return undefined;
115
+ }
116
+ };
117
+ const getOngoingCalls = async () => {
118
+ try {
119
+ return await RNSendBirdCalls.getOngoingCalls();
120
+ } catch (error) {
121
+ console.log('error at getOngoingCalls', error);
122
+ return undefined;
123
+ }
124
+ };
125
+
126
+ // MARK: - Call Info (Fixed method name)
127
+ const getCallInfo = async () => {
128
+ try {
129
+ // Use getCallInfo for Android (as defined in native module)
130
+ if (!isIOS) {
131
+ return await RNSendBirdCalls.getCallInfo();
132
+ }
133
+ // For iOS, you might need to implement this method or use getOngoingCalls
134
+ const ongoingCalls = await getOngoingCalls();
135
+ return ongoingCalls && ongoingCalls.length > 0 ? ongoingCalls[0] : undefined;
136
+ } catch (error) {
137
+ console.log('error at getCallInfo', error);
138
+ return undefined;
139
+ }
140
+ };
141
+ const getCall = async callId => {
142
+ try {
143
+ if (!isIOS) {
144
+ return await RNSendBirdCalls.getCall(callId);
145
+ }
146
+ return {
147
+ succeeded: false,
148
+ errorMessage: 'Not supported on iOS'
149
+ };
150
+ } catch (error) {
151
+ console.log('error at getCall', error);
152
+ return undefined;
153
+ }
154
+ };
155
+
156
+ // MARK: - Audio/Video Controls
157
+ const muteMicrophone = async () => {
158
+ try {
159
+ return await RNSendBirdCalls.muteMicrophone();
160
+ } catch (error) {
161
+ console.log('error at muteMicrophone', error);
162
+ return undefined;
163
+ }
164
+ };
165
+ const unmuteMicrophone = async () => {
166
+ try {
167
+ return await RNSendBirdCalls.unmuteMicrophone();
168
+ } catch (error) {
169
+ console.log('error at unmuteMicrophone', error);
170
+ return undefined;
171
+ }
172
+ };
173
+ const startVideo = async () => {
174
+ try {
175
+ return await RNSendBirdCalls.startVideo();
176
+ } catch (error) {
177
+ console.log('error at startVideo', error);
178
+ return undefined;
179
+ }
180
+ };
181
+ const stopVideo = async () => {
182
+ try {
183
+ return await RNSendBirdCalls.stopVideo();
184
+ } catch (error) {
185
+ console.log('error at stopVideo', error);
186
+ return undefined;
187
+ }
188
+ };
189
+ const switchCamera = async () => {
190
+ try {
191
+ return await RNSendBirdCalls.switchCamera();
192
+ } catch (error) {
193
+ console.log('error at switchCamera', error);
194
+ return undefined;
195
+ }
196
+ };
197
+
198
+ // MARK: - Recording
199
+ const startRecording = async (fileName, isRemote) => {
200
+ try {
201
+ return await RNSendBirdCalls.startRecording(fileName, isRemote);
202
+ } catch (error) {
203
+ console.log('error at startRecording', error);
204
+ return undefined;
205
+ }
206
+ };
207
+ const stopRecording = async recordingId => {
208
+ try {
209
+ return await RNSendBirdCalls.stopRecording(recordingId);
210
+ } catch (error) {
211
+ console.log('error at stopRecording', error);
212
+ return undefined;
213
+ }
214
+ };
215
+
216
+ // MARK: - Sound Configuration
217
+ const addDirectCallSound = (soundType, filename) => {
218
+ try {
219
+ RNSendBirdCalls.addDirectCallSound(soundType, filename);
220
+ } catch (error) {
221
+ console.log('error at addDirectCallSound', error);
222
+ }
223
+ };
224
+ const setDirectCallDialingSoundOnWhenSilentMode = async isEnabled => {
225
+ try {
226
+ if (!isIOS) {
227
+ return await RNSendBirdCalls.setDirectCallDialingSoundOnWhenSilentMode(isEnabled);
228
+ } else {
229
+ RNSendBirdCalls.setDirectCallDialingSoundOnWhenSilentMode(isEnabled);
230
+ return {
231
+ succeeded: true
232
+ };
233
+ }
234
+ } catch (error) {
235
+ console.log('error at setDirectCallDialingSoundOnWhenSilentMode', error);
236
+ return undefined;
237
+ }
238
+ };
239
+
240
+ // MARK: - Android Specific Features
241
+ const getDeviceLocked = async () => {
242
+ try {
243
+ if (!isIOS) {
244
+ return await RNSendBirdCalls.getDeviceLocked();
245
+ }
246
+ return {
247
+ succeeded: false,
248
+ errorMessage: 'Not supported on iOS'
249
+ };
250
+ } catch (error) {
251
+ console.log('error at getDeviceLocked', error);
252
+ return undefined;
253
+ }
254
+ };
255
+ const isAppInForeground = async () => {
256
+ try {
257
+ if (!isIOS) {
258
+ return await RNSendBirdCalls.isAppInForeground();
259
+ }
260
+ return {
261
+ succeeded: false,
262
+ errorMessage: 'Not supported on iOS'
263
+ };
264
+ } catch (error) {
265
+ console.log('error at isAppInForeground', error);
266
+ return undefined;
267
+ }
268
+ };
269
+ const wakeAppIncomingCall = (params = {}) => {
270
+ try {
271
+ if (!isIOS) {
272
+ RNSendBirdCalls.wakeAppIncomingCall(params);
273
+ }
274
+ } catch (error) {
275
+ console.log('error at wakeAppIncomingCall', error);
276
+ }
277
+ };
278
+ const navigateMainApp = (params = {}) => {
279
+ try {
280
+ if (!isIOS) {
281
+ RNSendBirdCalls.navigateMainApp(params);
282
+ }
283
+ } catch (error) {
284
+ console.log('error at navigateMainApp', error);
285
+ }
286
+ };
287
+ const finishLockedScreenUI = () => {
288
+ try {
289
+ if (!isIOS) {
290
+ RNSendBirdCalls.finishLockedScreenUI();
291
+ }
292
+ } catch (error) {
293
+ console.log('error at finishLockedScreenUI', error);
294
+ }
295
+ };
296
+ const cancelComingCallNotification = () => {
297
+ try {
298
+ if (!isIOS) {
299
+ RNSendBirdCalls.cancelComingCallNotification();
300
+ }
301
+ } catch (error) {
302
+ console.log('error at cancelComingCallNotification', error);
303
+ }
304
+ };
305
+
306
+ // MARK: - Legacy Authentication Methods (Android specific)
307
+ const endIncomingCallNeedAuthentication = async callId => {
308
+ try {
309
+ if (!isIOS) {
310
+ return await RNSendBirdCalls.endIncomingCallNeedAuthentication(callId);
311
+ }
312
+ return {
313
+ succeeded: false,
314
+ errorMessage: 'Not supported on iOS'
315
+ };
316
+ } catch (error) {
317
+ console.log('error at endIncomingCallNeedAuthentication', error);
318
+ return undefined;
319
+ }
320
+ };
321
+ const acceptIncomingCallNeedAuthentication = async (callId, isVideoEnable = true, isAudioEnable = true) => {
322
+ try {
323
+ if (!isIOS) {
324
+ return await RNSendBirdCalls.acceptIncomingCallNeedAuthentication(callId, isVideoEnable, isAudioEnable);
325
+ }
326
+ return {
327
+ succeeded: false,
328
+ errorMessage: 'Not supported on iOS'
329
+ };
330
+ } catch (error) {
331
+ console.log('error at acceptIncomingCallNeedAuthentication', error);
332
+ return undefined;
333
+ }
334
+ };
335
+ return {
336
+ // Core functionality
337
+ authenticate,
338
+ deAuthenticate,
339
+ initSendBird,
340
+ shareStorage,
341
+ // VoIP and Push
342
+ voipRegistry,
343
+ registerPushToken,
344
+ unregisterPushToken,
345
+ // Call management
346
+ dial,
347
+ acceptCall,
348
+ endCall,
349
+ endAllCalls,
350
+ getOngoingCalls,
351
+ getCallInfo,
352
+ getCall,
353
+ // Audio/Video controls
354
+ muteMicrophone,
355
+ unmuteMicrophone,
356
+ startVideo,
357
+ stopVideo,
358
+ switchCamera,
359
+ // Recording
360
+ startRecording,
361
+ stopRecording,
362
+ // Sound configuration
363
+ addDirectCallSound,
364
+ setDirectCallDialingSoundOnWhenSilentMode,
365
+ // Android specific
366
+ getDeviceLocked,
367
+ isAppInForeground,
368
+ wakeAppIncomingCall,
369
+ navigateMainApp,
370
+ finishLockedScreenUI,
371
+ cancelComingCallNotification,
372
+ // Legacy methods
373
+ endIncomingCallNeedAuthentication,
374
+ acceptIncomingCallNeedAuthentication
375
+ };
376
+ })();
377
+ //# sourceMappingURL=SendBirdCalls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","RNSendBirdCalls","isIOS","OS","SendBirdCalls","authenticate","userId","accessToken","error","console","log","undefined","deAuthenticate","initSendBird","appId","shareStorage","voipRegistry","registerPushToken","token","succeeded","errorMessage","unregisterPushToken","dial","calleeId","isVideoCall","isVideoEnable","isAudioEnable","appointmentScheduleId","eClinicId","acceptCall","callId","endCall","endAllCalls","getOngoingCalls","getCallInfo","ongoingCalls","length","getCall","muteMicrophone","unmuteMicrophone","startVideo","stopVideo","switchCamera","startRecording","fileName","isRemote","stopRecording","recordingId","addDirectCallSound","soundType","filename","setDirectCallDialingSoundOnWhenSilentMode","isEnabled","getDeviceLocked","isAppInForeground","wakeAppIncomingCall","params","navigateMainApp","finishLockedScreenUI","cancelComingCallNotification","endIncomingCallNeedAuthentication","acceptIncomingCallNeedAuthentication"],"sourceRoot":"../../src","sources":["SendBirdCalls.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ import { NativeModules, NativeEventEmitter, Platform } from 'react-native';
4
+ const RNSendBirdCalls = NativeModules.RNSendBirdCalls;
5
+ export default (function SendBirdCallsEvents() {
6
+ const eventNames = {
7
+ onRinging: 'onRinging',
8
+ onCallDidAccept: 'onCallDidAccept',
9
+ onConnected: 'onConnected',
10
+ onEnded: 'onEnded',
11
+ onReconnected: 'onReconnected',
12
+ onReconnecting: 'onReconnecting',
13
+ onRemoteAudioSettingsChanged: 'onRemoteAudioSettingsChanged',
14
+ onRemoteVideoSettingsChanged: 'onRemoteVideoSettingsChanged',
15
+ onRecordingSucceeded: 'onRecordingSucceeded',
16
+ onRecordingFailed: 'onRecordingFailed'
17
+ };
18
+
19
+ // Use appropriate event emitter based on platform
20
+ const eventEmitter = Platform.OS === 'ios' ? new NativeEventEmitter(RNSendBirdCalls) : new NativeEventEmitter();
21
+ const numberOfEvents = Object.values(eventNames).reduce((acc, name) => ({
22
+ ...acc,
23
+ [name]: 0
24
+ }), {});
25
+ const createListener = (eventName, callback) => {
26
+ // Initialize counter if it doesn't exist
27
+ if (numberOfEvents[eventName] === undefined) {
28
+ numberOfEvents[eventName] = 0;
29
+ }
30
+ if (numberOfEvents[eventName] === 0) {
31
+ RNSendBirdCalls.setNativeEvent(eventName);
32
+ }
33
+ numberOfEvents[eventName] += 1;
34
+ const subscription = eventEmitter.addListener(eventName, callback);
35
+ return {
36
+ remove: () => {
37
+ if (numberOfEvents[eventName] === 1) {
38
+ RNSendBirdCalls.removeNativeEvent(eventName);
39
+ }
40
+ if (numberOfEvents[eventName] !== undefined && numberOfEvents[eventName] > 0) {
41
+ numberOfEvents[eventName] -= 1;
42
+ }
43
+ subscription.remove();
44
+ }
45
+ };
46
+ };
47
+ const listenerRinging = callback => {
48
+ const eventName = eventNames.onRinging;
49
+ return createListener(eventName, callback);
50
+ };
51
+ const listenerCallDidAccept = callback => {
52
+ const eventName = eventNames.onCallDidAccept;
53
+ return createListener(eventName, callback);
54
+ };
55
+ const listenerConnected = callback => {
56
+ const eventName = eventNames.onConnected;
57
+ return createListener(eventName, callback);
58
+ };
59
+ const listenerEnded = callback => {
60
+ const eventName = eventNames.onEnded;
61
+ return createListener(eventName, callback);
62
+ };
63
+ const listenerReconnecting = callback => {
64
+ const eventName = eventNames.onReconnecting;
65
+ return createListener(eventName, callback);
66
+ };
67
+ const listenerReconnected = callback => {
68
+ const eventName = eventNames.onReconnected;
69
+ return createListener(eventName, callback);
70
+ };
71
+ const listenerRemoteAudioSettingsChanged = callback => {
72
+ const eventName = eventNames.onRemoteAudioSettingsChanged;
73
+ return createListener(eventName, callback);
74
+ };
75
+ const listenerRemoteVideoSettingsChanged = callback => {
76
+ const eventName = eventNames.onRemoteVideoSettingsChanged;
77
+ return createListener(eventName, callback);
78
+ };
79
+ const listenerRecordingSucceeded = callback => {
80
+ const eventName = eventNames.onRecordingSucceeded;
81
+ return createListener(eventName, callback);
82
+ };
83
+ const listenerRecordingFailed = callback => {
84
+ const eventName = eventNames.onRecordingFailed;
85
+ return createListener(eventName, callback);
86
+ };
87
+ const resetListener = () => {
88
+ Object.keys(numberOfEvents).forEach(key => {
89
+ numberOfEvents[key] = 0;
90
+ RNSendBirdCalls.removeNativeEvent(key);
91
+ });
92
+ RNSendBirdCalls.removeAllEvents();
93
+ };
94
+ return {
95
+ listenerRinging,
96
+ listenerCallDidAccept,
97
+ listenerConnected,
98
+ listenerEnded,
99
+ listenerReconnected,
100
+ listenerReconnecting,
101
+ listenerRemoteAudioSettingsChanged,
102
+ listenerRemoteVideoSettingsChanged,
103
+ listenerRecordingSucceeded,
104
+ listenerRecordingFailed,
105
+ resetListener
106
+ };
107
+ })();
108
+ //# sourceMappingURL=SendBirdCallsEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","NativeEventEmitter","Platform","RNSendBirdCalls","SendBirdCallsEvents","eventNames","onRinging","onCallDidAccept","onConnected","onEnded","onReconnected","onReconnecting","onRemoteAudioSettingsChanged","onRemoteVideoSettingsChanged","onRecordingSucceeded","onRecordingFailed","eventEmitter","OS","numberOfEvents","Object","values","reduce","acc","name","createListener","eventName","callback","undefined","setNativeEvent","subscription","addListener","remove","removeNativeEvent","listenerRinging","listenerCallDidAccept","listenerConnected","listenerEnded","listenerReconnecting","listenerReconnected","listenerRemoteAudioSettingsChanged","listenerRemoteVideoSettingsChanged","listenerRecordingSucceeded","listenerRecordingFailed","resetListener","keys","forEach","key","removeAllEvents"],"sourceRoot":"../../src","sources":["SendBirdCallsEvents.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ import { requireNativeComponent } from 'react-native';
4
+
5
+ // Define the native component interface
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ // Require the native component
8
+ const RNVSendBirdCallsVideo = requireNativeComponent('RNVSendBirdCallsVideo');
9
+
10
+ // Props interface for the React component
11
+
12
+ /**
13
+ * SendBird Calls Video Component
14
+ *
15
+ * @param callId - The ID of the active call
16
+ * @param local - true for local video (self), false for remote video (other person)
17
+ * @param scaleFit - true to scale video to fit container, false to fill container
18
+ * @param style - Custom styles for the video view
19
+ */
20
+ export default function SendBirdCallsVideo({
21
+ callId,
22
+ local,
23
+ scaleFit = true,
24
+ style
25
+ }) {
26
+ return /*#__PURE__*/_jsx(RNVSendBirdCallsVideo, {
27
+ callId: callId,
28
+ local: local,
29
+ scaleFit: scaleFit,
30
+ style: style
31
+ });
32
+ }
33
+ //# sourceMappingURL=SendBirdCallsVideo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["requireNativeComponent","jsx","_jsx","RNVSendBirdCallsVideo","SendBirdCallsVideo","callId","local","scaleFit","style"],"sourceRoot":"../../src","sources":["SendBirdCallsVideo.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAwB,cAAc;;AAErE;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAQA;AACA,MAAMC,qBAAqB,GAAGH,sBAAsB,CAAmB,uBAAuB,CAAC;;AAE/F;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASI,kBAAkBA,CAAC;EACzCC,MAAM;EACNC,KAAK;EACLC,QAAQ,GAAG,IAAI;EACfC;AACuB,CAAC,EAAE;EAC1B,oBACEN,IAAA,CAACC,qBAAqB;IACpBE,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBC,KAAK,EAAEA;EAAM,CACd,CAAC;AAEN","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ // Main SendBird Calls functionality
4
+ export { default as SendBirdCalls } from "./SendBirdCalls.js";
5
+
6
+ // Event handling
7
+ export { default as SendBirdCallsEvents } from "./SendBirdCallsEvents.js";
8
+
9
+ // Video component
10
+ export { default as SendBirdCallsVideo } from "./SendBirdCallsVideo.js";
11
+
12
+ // Type definitions
13
+ export * from "./index.type.js";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","SendBirdCalls","SendBirdCallsEvents","SendBirdCallsVideo"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,OAAO,IAAIC,aAAa,QAAQ,oBAAiB;;AAE1D;AACA,SAASD,OAAO,IAAIE,mBAAmB,QAAQ,0BAAuB;;AAEtE;AACA,SAASF,OAAO,IAAIG,kBAAkB,QAAQ,yBAAsB;;AAEpE;AACA,cAAc,iBAAc","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.type.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1 @@
1
+ {"type":"module"}