@stream-io/video-react-native-sdk 1.29.1-beta.0 → 1.29.2

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 (211) hide show
  1. package/CHANGELOG.md +3133 -0
  2. package/android/src/main/AndroidManifest.xml +1 -8
  3. package/android/src/main/AndroidManifestNew.xml +0 -11
  4. package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +5 -42
  5. package/android/src/main/java/com/streamvideo/reactnative/audio/utils/WebRtcAudioUtils.kt +6 -70
  6. package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +4 -6
  7. package/android/src/main/java/com/streamvideo/reactnative/util/CallAliveServiceChecker.kt +95 -0
  8. package/dist/commonjs/hooks/push/index.js +2 -0
  9. package/dist/commonjs/hooks/push/index.js.map +1 -1
  10. package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +160 -0
  11. package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -0
  12. package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +31 -18
  13. package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
  14. package/dist/commonjs/hooks/push/useProcessPushCallEffect.js +67 -0
  15. package/dist/commonjs/hooks/push/useProcessPushCallEffect.js.map +1 -0
  16. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +97 -64
  17. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  18. package/dist/commonjs/index.js +0 -1
  19. package/dist/commonjs/index.js.map +1 -1
  20. package/dist/commonjs/modules/call-manager/CallManager.js +0 -26
  21. package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
  22. package/dist/commonjs/providers/StreamCall/index.js +6 -6
  23. package/dist/commonjs/providers/StreamCall/index.js.map +1 -1
  24. package/dist/commonjs/utils/StreamVideoRN/index.js +21 -33
  25. package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
  26. package/dist/commonjs/utils/internal/registerSDKGlobals.js +3 -52
  27. package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
  28. package/dist/commonjs/utils/push/android.js +202 -155
  29. package/dist/commonjs/utils/push/android.js.map +1 -1
  30. package/dist/commonjs/utils/push/internal/ios.js +34 -17
  31. package/dist/commonjs/utils/push/internal/ios.js.map +1 -1
  32. package/dist/commonjs/utils/push/internal/rxSubjects.js +45 -1
  33. package/dist/commonjs/utils/push/internal/rxSubjects.js.map +1 -1
  34. package/dist/commonjs/utils/push/internal/utils.js +20 -32
  35. package/dist/commonjs/utils/push/internal/utils.js.map +1 -1
  36. package/dist/commonjs/utils/push/ios.js.map +1 -1
  37. package/dist/commonjs/utils/push/libs/callkeep.js +17 -0
  38. package/dist/commonjs/utils/push/libs/callkeep.js.map +1 -0
  39. package/dist/commonjs/utils/push/libs/index.js +19 -8
  40. package/dist/commonjs/utils/push/libs/index.js.map +1 -1
  41. package/dist/commonjs/utils/push/libs/notifee/index.js +19 -0
  42. package/dist/commonjs/utils/push/libs/notifee/index.js.map +1 -1
  43. package/dist/commonjs/utils/push/libs/voipPushNotification.js +17 -0
  44. package/dist/commonjs/utils/push/libs/voipPushNotification.js.map +1 -0
  45. package/dist/commonjs/utils/push/setupIosCallKeepEvents.js +205 -0
  46. package/dist/commonjs/utils/push/setupIosCallKeepEvents.js.map +1 -0
  47. package/dist/commonjs/utils/push/setupIosVoipPushEvents.js +6 -7
  48. package/dist/commonjs/utils/push/setupIosVoipPushEvents.js.map +1 -1
  49. package/dist/commonjs/version.js +1 -1
  50. package/dist/commonjs/version.js.map +1 -1
  51. package/dist/module/hooks/push/index.js +2 -0
  52. package/dist/module/hooks/push/index.js.map +1 -1
  53. package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +153 -0
  54. package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -0
  55. package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +31 -18
  56. package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
  57. package/dist/module/hooks/push/useProcessPushCallEffect.js +60 -0
  58. package/dist/module/hooks/push/useProcessPushCallEffect.js.map +1 -0
  59. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +99 -66
  60. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  61. package/dist/module/index.js +0 -1
  62. package/dist/module/index.js.map +1 -1
  63. package/dist/module/modules/call-manager/CallManager.js +0 -26
  64. package/dist/module/modules/call-manager/CallManager.js.map +1 -1
  65. package/dist/module/providers/StreamCall/index.js +6 -6
  66. package/dist/module/providers/StreamCall/index.js.map +1 -1
  67. package/dist/module/utils/StreamVideoRN/index.js +21 -33
  68. package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
  69. package/dist/module/utils/internal/registerSDKGlobals.js +3 -52
  70. package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
  71. package/dist/module/utils/push/android.js +204 -157
  72. package/dist/module/utils/push/android.js.map +1 -1
  73. package/dist/module/utils/push/internal/ios.js +34 -17
  74. package/dist/module/utils/push/internal/ios.js.map +1 -1
  75. package/dist/module/utils/push/internal/rxSubjects.js +44 -0
  76. package/dist/module/utils/push/internal/rxSubjects.js.map +1 -1
  77. package/dist/module/utils/push/internal/utils.js +19 -29
  78. package/dist/module/utils/push/internal/utils.js.map +1 -1
  79. package/dist/module/utils/push/ios.js.map +1 -1
  80. package/dist/module/utils/push/libs/callkeep.js +11 -0
  81. package/dist/module/utils/push/libs/callkeep.js.map +1 -0
  82. package/dist/module/utils/push/libs/index.js +2 -1
  83. package/dist/module/utils/push/libs/index.js.map +1 -1
  84. package/dist/module/utils/push/libs/notifee/index.js +18 -0
  85. package/dist/module/utils/push/libs/notifee/index.js.map +1 -1
  86. package/dist/module/utils/push/libs/voipPushNotification.js +11 -0
  87. package/dist/module/utils/push/libs/voipPushNotification.js.map +1 -0
  88. package/dist/module/utils/push/setupIosCallKeepEvents.js +199 -0
  89. package/dist/module/utils/push/setupIosCallKeepEvents.js.map +1 -0
  90. package/dist/module/utils/push/setupIosVoipPushEvents.js +6 -7
  91. package/dist/module/utils/push/setupIosVoipPushEvents.js.map +1 -1
  92. package/dist/module/version.js +1 -1
  93. package/dist/module/version.js.map +1 -1
  94. package/dist/typescript/hooks/push/index.d.ts.map +1 -1
  95. package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts +5 -0
  96. package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts.map +1 -0
  97. package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
  98. package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts +8 -0
  99. package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts.map +1 -0
  100. package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
  101. package/dist/typescript/index.d.ts +0 -1
  102. package/dist/typescript/index.d.ts.map +1 -1
  103. package/dist/typescript/modules/call-manager/CallManager.d.ts +0 -5
  104. package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
  105. package/dist/typescript/utils/StreamVideoRN/index.d.ts +2 -20
  106. package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
  107. package/dist/typescript/utils/StreamVideoRN/types.d.ts +29 -54
  108. package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
  109. package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
  110. package/dist/typescript/utils/push/android.d.ts +2 -1
  111. package/dist/typescript/utils/push/android.d.ts.map +1 -1
  112. package/dist/typescript/utils/push/internal/ios.d.ts.map +1 -1
  113. package/dist/typescript/utils/push/internal/rxSubjects.d.ts +33 -0
  114. package/dist/typescript/utils/push/internal/rxSubjects.d.ts.map +1 -1
  115. package/dist/typescript/utils/push/internal/utils.d.ts +1 -8
  116. package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
  117. package/dist/typescript/utils/push/ios.d.ts +2 -1
  118. package/dist/typescript/utils/push/ios.d.ts.map +1 -1
  119. package/dist/typescript/utils/push/libs/callkeep.d.ts +3 -0
  120. package/dist/typescript/utils/push/libs/callkeep.d.ts.map +1 -0
  121. package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts +2 -16
  122. package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts.map +1 -1
  123. package/dist/typescript/utils/push/libs/index.d.ts +2 -1
  124. package/dist/typescript/utils/push/libs/index.d.ts.map +1 -1
  125. package/dist/typescript/utils/push/libs/notifee/index.d.ts +1 -0
  126. package/dist/typescript/utils/push/libs/notifee/index.d.ts.map +1 -1
  127. package/dist/typescript/utils/push/libs/voipPushNotification.d.ts +3 -0
  128. package/dist/typescript/utils/push/libs/voipPushNotification.d.ts.map +1 -0
  129. package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts +6 -0
  130. package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts.map +1 -0
  131. package/dist/typescript/utils/push/setupIosVoipPushEvents.d.ts.map +1 -1
  132. package/dist/typescript/version.d.ts +1 -1
  133. package/dist/typescript/version.d.ts.map +1 -1
  134. package/expo-config-plugin/dist/withAndroidManifest.js +33 -1
  135. package/expo-config-plugin/dist/withAndroidPermissions.js +7 -2
  136. package/expo-config-plugin/dist/withAppDelegate.js +197 -19
  137. package/expo-config-plugin/dist/withMainActivity.js +1 -1
  138. package/expo-config-plugin/dist/withiOSInfoPlist.js +3 -2
  139. package/ios/StreamInCallManager.m +0 -2
  140. package/ios/StreamInCallManager.swift +7 -19
  141. package/ios/StreamVideoReactNative.h +4 -7
  142. package/ios/StreamVideoReactNative.m +82 -189
  143. package/package.json +19 -14
  144. package/src/hooks/push/index.ts +2 -0
  145. package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +235 -0
  146. package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +34 -21
  147. package/src/hooks/push/useProcessPushCallEffect.ts +108 -0
  148. package/src/hooks/useAndroidKeepCallAliveEffect.ts +120 -94
  149. package/src/index.ts +0 -1
  150. package/src/modules/call-manager/CallManager.ts +0 -36
  151. package/src/modules/call-manager/native-module.d.ts +0 -7
  152. package/src/providers/StreamCall/index.tsx +6 -6
  153. package/src/utils/StreamVideoRN/index.ts +30 -40
  154. package/src/utils/StreamVideoRN/types.ts +29 -56
  155. package/src/utils/internal/registerSDKGlobals.ts +4 -47
  156. package/src/utils/push/android.ts +309 -231
  157. package/src/utils/push/internal/ios.ts +44 -28
  158. package/src/utils/push/internal/rxSubjects.ts +61 -0
  159. package/src/utils/push/internal/utils.ts +26 -45
  160. package/src/utils/push/ios.ts +6 -1
  161. package/src/utils/push/libs/callkeep.ts +16 -0
  162. package/src/utils/push/libs/index.ts +2 -1
  163. package/src/utils/push/libs/notifee/index.ts +27 -0
  164. package/src/utils/push/libs/voipPushNotification.ts +17 -0
  165. package/src/utils/push/setupIosCallKeepEvents.ts +252 -0
  166. package/src/utils/push/setupIosVoipPushEvents.ts +7 -11
  167. package/src/version.ts +1 -1
  168. package/android/src/main/java/com/streamvideo/reactnative/keepalive/KeepAliveNotification.kt +0 -83
  169. package/android/src/main/java/com/streamvideo/reactnative/keepalive/StreamCallKeepAliveHeadlessService.kt +0 -149
  170. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +0 -121
  171. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +0 -1
  172. package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js +0 -58
  173. package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js.map +0 -1
  174. package/dist/commonjs/utils/internal/callingx/callingx.js +0 -109
  175. package/dist/commonjs/utils/internal/callingx/callingx.js.map +0 -1
  176. package/dist/commonjs/utils/keepCallAliveHeadlessTask.js +0 -48
  177. package/dist/commonjs/utils/keepCallAliveHeadlessTask.js.map +0 -1
  178. package/dist/commonjs/utils/push/libs/callingx.js +0 -75
  179. package/dist/commonjs/utils/push/libs/callingx.js.map +0 -1
  180. package/dist/commonjs/utils/push/setupCallingExpEvents.js +0 -108
  181. package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +0 -1
  182. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +0 -114
  183. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +0 -1
  184. package/dist/module/utils/internal/callingx/audioSessionPromise.js +0 -51
  185. package/dist/module/utils/internal/callingx/audioSessionPromise.js.map +0 -1
  186. package/dist/module/utils/internal/callingx/callingx.js +0 -100
  187. package/dist/module/utils/internal/callingx/callingx.js.map +0 -1
  188. package/dist/module/utils/keepCallAliveHeadlessTask.js +0 -42
  189. package/dist/module/utils/keepCallAliveHeadlessTask.js.map +0 -1
  190. package/dist/module/utils/push/libs/callingx.js +0 -67
  191. package/dist/module/utils/push/libs/callingx.js.map +0 -1
  192. package/dist/module/utils/push/setupCallingExpEvents.js +0 -102
  193. package/dist/module/utils/push/setupCallingExpEvents.js.map +0 -1
  194. package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts +0 -5
  195. package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +0 -1
  196. package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts +0 -16
  197. package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts.map +0 -1
  198. package/dist/typescript/utils/internal/callingx/callingx.d.ts +0 -13
  199. package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +0 -1
  200. package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts +0 -10
  201. package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts.map +0 -1
  202. package/dist/typescript/utils/push/libs/callingx.d.ts +0 -9
  203. package/dist/typescript/utils/push/libs/callingx.d.ts.map +0 -1
  204. package/dist/typescript/utils/push/setupCallingExpEvents.d.ts +0 -8
  205. package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +0 -1
  206. package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +0 -147
  207. package/src/utils/internal/callingx/audioSessionPromise.ts +0 -53
  208. package/src/utils/internal/callingx/callingx.ts +0 -146
  209. package/src/utils/keepCallAliveHeadlessTask.ts +0 -54
  210. package/src/utils/push/libs/callingx.ts +0 -90
  211. package/src/utils/push/setupCallingExpEvents.ts +0 -130
@@ -0,0 +1,199 @@
1
+ import { pushAcceptedIncomingCallCId$, voipCallkeepAcceptedCallOnNativeDialerMap$, voipCallkeepCallOnForegroundMap$, voipPushNotificationCallCId$ } from './internal/rxSubjects';
2
+ import { RxUtils, videoLoggerSystem } from '@stream-io/video-client';
3
+ import { getCallKeepLib, getVoipPushNotificationLib } from './libs';
4
+ import { clearPushWSEventSubscriptions, processCallFromPushInBackground } from './internal/utils';
5
+ import { AppState, NativeModules, Platform } from 'react-native';
6
+ import { RTCAudioSession } from '@stream-io/react-native-webrtc';
7
+ import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
8
+ /**
9
+ * This hook is used to listen to callkeep events and do the necessary actions
10
+ */
11
+ export function setupIosCallKeepEvents(pushConfig) {
12
+ if (Platform.OS !== 'ios' || !pushConfig.ios.pushProviderName) {
13
+ return;
14
+ }
15
+ if (!pushConfig.android.incomingCallChannel) {
16
+ // TODO: remove this check and find a better way once we have telecom integration for android
17
+ videoLoggerSystem.getLogger('setupIosCallKeepEvents').debug('android incomingCallChannel is not defined, so skipping the setupIosCallKeepEvents');
18
+ return;
19
+ }
20
+ const logger = videoLoggerSystem.getLogger('setupIosCallKeepEvents');
21
+ const callkeep = getCallKeepLib();
22
+ async function getCallCid(callUUID) {
23
+ try {
24
+ const call_cid = await NativeModules.StreamVideoReactNative.getIncomingCallCid(callUUID);
25
+ // in a case that voipPushNotificationCallCId$ is empty (this should not happen as voipPushNotificationCallCId$ is updated in push reception)]
26
+ // update it with this call_cid
27
+ const voipPushNotificationCallCId = RxUtils.getCurrentValue(voipPushNotificationCallCId$);
28
+ if (!voipPushNotificationCallCId) {
29
+ logger.debug(`voipPushNotificationCallCId$ is empty, updating it with the call_cid: ${call_cid} for callUUID: ${callUUID}`);
30
+ voipPushNotificationCallCId$.next(call_cid);
31
+ }
32
+ return call_cid;
33
+ } catch {
34
+ logger.debug(`Error in getting call cid from native module for callUUID: ${callUUID} - probably the call was already processed, so ignoring this callkeep event`);
35
+ }
36
+ return undefined;
37
+ }
38
+ function answerCall(callUUID) {
39
+ getCallCid(callUUID).then(call_cid => {
40
+ logger.debug(`answerCall event with call_cid: ${call_cid}`);
41
+ iosCallkeepAcceptCall(call_cid, callUUID);
42
+ });
43
+ }
44
+ function endCall(callUUID) {
45
+ getCallCid(callUUID).then(call_cid => {
46
+ logger.debug(`endCall event with call_cid: ${call_cid}`);
47
+ iosCallkeepRejectCall(call_cid, callUUID, pushConfig);
48
+ });
49
+ }
50
+
51
+ /**
52
+ * CallKeep / CallKit audio-session events -> WebRTC (iOS)
53
+ *
54
+ * iOS CallKit is the authority that *activates* and *deactivates* the underlying `AVAudioSession`
55
+ * when a call is answered/ended from the system UI (lock screen, Call UI, Bluetooth, etc).
56
+ *
57
+ * WebRTC on iOS wraps `AVAudioSession` with `RTCAudioSession` and its AudioDeviceModule relies on
58
+ * being notified of those lifecycle transitions to correctly start/stop audio I/O and keep its
59
+ * internal activation state consistent (e.g. activation count, playout/recording start).
60
+ *
61
+ * If these callbacks don’t reach WebRTC, answering via the native dialer UI can result in:
62
+ * - no microphone capture / one-way audio
63
+ * - silent playout until the app forces an audio reconfiguration
64
+ * - flaky audio routing (speaker/earpiece/Bluetooth) across subsequent calls
65
+ *
66
+ * We forward CallKeep’s `didActivateAudioSession` / `didDeactivateAudioSession` events to WebRTC’s
67
+ * `RTCAudioSession.audioSessionDidActivate()` / `audioSessionDidDeactivate()` methods.
68
+ */
69
+ function didActivateAudioSession() {
70
+ logger.debug('didActivateAudioSession');
71
+ RTCAudioSession.audioSessionDidActivate();
72
+ }
73
+ function didDeactivateAudioSession() {
74
+ logger.debug('didDeactivateAudioSession');
75
+ RTCAudioSession.audioSessionDidDeactivate();
76
+ }
77
+ function didDisplayIncomingCall(callUUID, payload) {
78
+ const voipPushNotification = getVoipPushNotificationLib();
79
+ // @ts-expect-error - call_cid is not part of RNCallKeepEventPayload
80
+ const call_cid = payload?.call_cid;
81
+ logger.debug(`didDisplayIncomingCall event with callUUID: ${callUUID} call_cid: ${call_cid}`);
82
+ if (call_cid) {
83
+ if (AppState.currentState === 'background') {
84
+ processCallFromPushInBackground(pushConfig, call_cid, 'backgroundDelivered');
85
+ }
86
+ voipCallkeepCallOnForegroundMap$.next({
87
+ uuid: callUUID,
88
+ cid: call_cid
89
+ });
90
+ }
91
+ voipPushNotification.onVoipNotificationCompleted(callUUID);
92
+ }
93
+ const {
94
+ remove: removeAnswerCall
95
+ } = callkeep.addEventListener('answerCall', ({
96
+ callUUID
97
+ }) => {
98
+ answerCall(callUUID);
99
+ });
100
+ const {
101
+ remove: removeEndCall
102
+ } = callkeep.addEventListener('endCall', ({
103
+ callUUID
104
+ }) => {
105
+ endCall(callUUID);
106
+ });
107
+ const {
108
+ remove: removeDisplayIncomingCall
109
+ } = callkeep.addEventListener('didDisplayIncomingCall', ({
110
+ callUUID,
111
+ payload
112
+ }) => {
113
+ didDisplayIncomingCall(callUUID, payload);
114
+ });
115
+ const {
116
+ remove: removeDidActivateAudioSession
117
+ } = callkeep.addEventListener('didActivateAudioSession', () => {
118
+ didActivateAudioSession();
119
+ });
120
+ const {
121
+ remove: removeDidDeactivateAudioSession
122
+ } = callkeep.addEventListener('didDeactivateAudioSession', () => {
123
+ didDeactivateAudioSession();
124
+ });
125
+ const {
126
+ remove: removeDidLoadWithEvents
127
+ } = callkeep.addEventListener('didLoadWithEvents', events => {
128
+ if (!events || !Array.isArray(events) || events.length < 1) {
129
+ return;
130
+ }
131
+ events.forEach(event => {
132
+ const {
133
+ name,
134
+ data
135
+ } = event;
136
+ if (name === 'RNCallKeepDidDisplayIncomingCall') {
137
+ didDisplayIncomingCall(data.callUUID, data.payload);
138
+ } else if (name === 'RNCallKeepPerformAnswerCallAction') {
139
+ answerCall(data.callUUID);
140
+ } else if (name === 'RNCallKeepPerformEndCallAction') {
141
+ endCall(data.callUUID);
142
+ } else if (name === 'RNCallKeepDidActivateAudioSession') {
143
+ didActivateAudioSession();
144
+ } else if (name === 'RNCallKeepDidDeactivateAudioSession') {
145
+ didDeactivateAudioSession();
146
+ }
147
+ });
148
+ });
149
+ setPushLogoutCallback(async () => {
150
+ removeAnswerCall();
151
+ removeEndCall();
152
+ removeDisplayIncomingCall();
153
+ removeDidActivateAudioSession();
154
+ removeDidDeactivateAudioSession();
155
+ removeDidLoadWithEvents();
156
+ });
157
+ }
158
+ const iosCallkeepAcceptCall = (call_cid, callUUIDFromCallkeep) => {
159
+ if (!shouldProcessCallFromCallkeep(call_cid, callUUIDFromCallkeep)) {
160
+ return;
161
+ }
162
+ clearPushWSEventSubscriptions(call_cid);
163
+ // to call end callkeep later if ended in app and not through callkeep
164
+ voipCallkeepAcceptedCallOnNativeDialerMap$.next({
165
+ uuid: callUUIDFromCallkeep,
166
+ cid: call_cid
167
+ });
168
+ // to process the call in the app
169
+ pushAcceptedIncomingCallCId$.next(call_cid);
170
+ // no need to keep these references anymore
171
+ voipCallkeepCallOnForegroundMap$.next(undefined);
172
+ };
173
+ const iosCallkeepRejectCall = async (call_cid, callUUIDFromCallkeep, pushConfig) => {
174
+ if (!shouldProcessCallFromCallkeep(call_cid, callUUIDFromCallkeep)) {
175
+ return;
176
+ }
177
+ clearPushWSEventSubscriptions(call_cid);
178
+ // remove the references if the call_cid matches
179
+ const voipPushNotificationCallCId = RxUtils.getCurrentValue(voipPushNotificationCallCId$);
180
+ if (voipPushNotificationCallCId === call_cid) {
181
+ voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
182
+ voipCallkeepCallOnForegroundMap$.next(undefined);
183
+ voipPushNotificationCallCId$.next(undefined);
184
+ }
185
+ await processCallFromPushInBackground(pushConfig, call_cid, 'decline');
186
+ await NativeModules.StreamVideoReactNative?.removeIncomingCall(call_cid);
187
+ };
188
+
189
+ /**
190
+ * Helper function to determine if the answer/end call event from callkeep must be processed
191
+ * Just checks if we have a valid call_cid and acts as a type guard for call_cid
192
+ */
193
+ const shouldProcessCallFromCallkeep = (call_cid, callUUIDFromCallkeep) => {
194
+ if (!call_cid || !callUUIDFromCallkeep) {
195
+ return false;
196
+ }
197
+ return true;
198
+ };
199
+ //# sourceMappingURL=setupIosCallKeepEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pushAcceptedIncomingCallCId$","voipCallkeepAcceptedCallOnNativeDialerMap$","voipCallkeepCallOnForegroundMap$","voipPushNotificationCallCId$","RxUtils","videoLoggerSystem","getCallKeepLib","getVoipPushNotificationLib","clearPushWSEventSubscriptions","processCallFromPushInBackground","AppState","NativeModules","Platform","RTCAudioSession","setPushLogoutCallback","setupIosCallKeepEvents","pushConfig","OS","ios","pushProviderName","android","incomingCallChannel","getLogger","debug","logger","callkeep","getCallCid","callUUID","call_cid","StreamVideoReactNative","getIncomingCallCid","voipPushNotificationCallCId","getCurrentValue","next","undefined","answerCall","then","iosCallkeepAcceptCall","endCall","iosCallkeepRejectCall","didActivateAudioSession","audioSessionDidActivate","didDeactivateAudioSession","audioSessionDidDeactivate","didDisplayIncomingCall","payload","voipPushNotification","currentState","uuid","cid","onVoipNotificationCompleted","remove","removeAnswerCall","addEventListener","removeEndCall","removeDisplayIncomingCall","removeDidActivateAudioSession","removeDidDeactivateAudioSession","removeDidLoadWithEvents","events","Array","isArray","length","forEach","event","name","data","callUUIDFromCallkeep","shouldProcessCallFromCallkeep","removeIncomingCall"],"sourceRoot":"../../../../src","sources":["utils/push/setupIosCallKeepEvents.ts"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,8 @@
1
- // import { getVoipPushNotificationLib } from './libs';
2
-
1
+ import { getVoipPushNotificationLib } from './libs';
3
2
  import { Platform } from 'react-native';
4
3
  import { onVoipNotificationReceived } from './internal/ios';
5
4
  import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
6
5
  import { videoLoggerSystem } from '@stream-io/video-client';
7
- import { getCallingxLib } from './libs';
8
6
  export function setupIosVoipPushEvents(pushConfig) {
9
7
  if (Platform.OS !== 'ios' || !pushConfig.ios?.pushProviderName) {
10
8
  return;
@@ -15,13 +13,14 @@ export function setupIosVoipPushEvents(pushConfig) {
15
13
  logger.debug('ios pushProviderName is not defined, so skipping the setupIosVoipPushEvents');
16
14
  return;
17
15
  }
18
- const callingx = getCallingxLib();
19
- const voipNotificationReceivedListener = callingx.addEventListener('voipNotificationReceived', params => {
20
- onVoipNotificationReceived(params, pushConfig);
16
+ const voipPushNotification = getVoipPushNotificationLib();
17
+ logger.debug('notification event listener added');
18
+ voipPushNotification.addEventListener('notification', notification => {
19
+ onVoipNotificationReceived(notification, pushConfig);
21
20
  });
22
21
  setPushLogoutCallback(async () => {
23
22
  videoLoggerSystem.getLogger('setPushLogoutCallback').debug('notification event listener removed');
24
- voipNotificationReceivedListener.remove();
23
+ voipPushNotification.removeEventListener('notification');
25
24
  });
26
25
  }
27
26
  //# sourceMappingURL=setupIosVoipPushEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","onVoipNotificationReceived","setPushLogoutCallback","videoLoggerSystem","getCallingxLib","setupIosVoipPushEvents","pushConfig","OS","ios","pushProviderName","logger","getLogger","debug","callingx","voipNotificationReceivedListener","addEventListener","params","remove"],"sourceRoot":"../../../../src","sources":["utils/push/setupIosVoipPushEvents.ts"],"mappings":"AAAA;;AAEA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,0BAA0B,QAAQ,gBAAgB;AAC3D,SAASC,qBAAqB,QAAQ,gCAAgC;AAEtE,SAASC,iBAAiB,QAAQ,yBAAyB;AAC3D,SAASC,cAAc,QAAQ,QAAQ;AAEvC,OAAO,SAASC,sBAAsBA,CACpCC,UAAkD,EAClD;EACA,IAAIN,QAAQ,CAACO,EAAE,KAAK,KAAK,IAAI,CAACD,UAAU,CAACE,GAAG,EAAEC,gBAAgB,EAAE;IAC9D;EACF;EACA,MAAMC,MAAM,GAAGP,iBAAiB,CAACQ,SAAS,CAAC,wBAAwB,CAAC;EACpE,IAAI,CAACL,UAAU,CAACE,GAAG,CAACC,gBAAgB,EAAE;IACpC;IACAC,MAAM,CAACE,KAAK,CACV,6EACF,CAAC;IACD;EACF;EAEA,MAAMC,QAAQ,GAAGT,cAAc,CAAC,CAAC;EACjC,MAAMU,gCAAgC,GAAGD,QAAQ,CAACE,gBAAgB,CAChE,0BAA0B,EACzBC,MAAM,IAAK;IACVf,0BAA0B,CAACe,MAAM,EAAEV,UAAU,CAAC;EAChD,CACF,CAAC;EAEDJ,qBAAqB,CAAC,YAAY;IAChCC,iBAAiB,CACdQ,SAAS,CAAC,uBAAuB,CAAC,CAClCC,KAAK,CAAC,qCAAqC,CAAC;IAC/CE,gCAAgC,CAACG,MAAM,CAAC,CAAC;EAC3C,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["getVoipPushNotificationLib","Platform","onVoipNotificationReceived","setPushLogoutCallback","videoLoggerSystem","setupIosVoipPushEvents","pushConfig","OS","ios","pushProviderName","logger","getLogger","debug","voipPushNotification","addEventListener","notification","removeEventListener"],"sourceRoot":"../../../../src","sources":["utils/push/setupIosVoipPushEvents.ts"],"mappings":"AAAA,SAASA,0BAA0B,QAAQ,QAAQ;AAEnD,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,0BAA0B,QAAQ,gBAAgB;AAC3D,SAASC,qBAAqB,QAAQ,gCAAgC;AAEtE,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,OAAO,SAASC,sBAAsBA,CACpCC,UAAkD,EAClD;EACA,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,IAAI,CAACD,UAAU,CAACE,GAAG,EAAEC,gBAAgB,EAAE;IAC9D;EACF;EACA,MAAMC,MAAM,GAAGN,iBAAiB,CAACO,SAAS,CAAC,wBAAwB,CAAC;EACpE,IAAI,CAACL,UAAU,CAACE,GAAG,CAACC,gBAAgB,EAAE;IACpC;IACAC,MAAM,CAACE,KAAK,CACV,6EACF,CAAC;IACD;EACF;EACA,MAAMC,oBAAoB,GAAGb,0BAA0B,CAAC,CAAC;EAEzDU,MAAM,CAACE,KAAK,CAAC,mCAAmC,CAAC;EACjDC,oBAAoB,CAACC,gBAAgB,CAAC,cAAc,EAAGC,YAAY,IAAK;IACtEb,0BAA0B,CAACa,YAAY,EAAET,UAAU,CAAC;EACtD,CAAC,CAAC;EACFH,qBAAqB,CAAC,YAAY;IAChCC,iBAAiB,CACdO,SAAS,CAAC,uBAAuB,CAAC,CAClCC,KAAK,CAAC,qCAAqC,CAAC;IAC/CC,oBAAoB,CAACG,mBAAmB,CAAC,cAAc,CAAC;EAC1D,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.29.1-beta.0';
1
+ export const version = '1.29.2';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,QAAQ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,YAKjC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/index.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,YAMjC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * This hook is used to inform the callkeep library that the call has been joined or ended.
3
+ */
4
+ export declare const useIosCallkeepWithCallingStateEffect: () => void;
5
+ //# sourceMappingURL=useIosCallkeepWithCallingStateEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIosCallkeepWithCallingStateEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useIosCallkeepWithCallingStateEffect.ts"],"names":[],"mappings":"AAmDA;;GAEG;AACH,eAAO,MAAM,oCAAoC,YAoLhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIosVoipPushEventsSetupEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useIosVoipPushEventsSetupEffect.ts"],"names":[],"mappings":"AAoCA;;;GAGG;AACH,eAAO,MAAM,+BAA+B,YAgI3C,CAAC"}
1
+ {"version":3,"file":"useIosVoipPushEventsSetupEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useIosVoipPushEventsSetupEffect.ts"],"names":[],"mappings":"AAoCA;;;GAGG;AACH,eAAO,MAAM,+BAA+B,YA6I3C,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This hook is used to process the incoming call data via push notifications using the relevant rxjs subjects
3
+ * It either joins or leaves the call based on the user's action.
4
+ * Note: this effect cannot work when push notifications are received when the app is in quit state or in other words when the client is not connected with a websocket.
5
+ * So we essentially run this effect only when the client is connected with a websocket.
6
+ */
7
+ export declare const useProcessPushCallEffect: () => void;
8
+ //# sourceMappingURL=useProcessPushCallEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProcessPushCallEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useProcessPushCallEffect.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,YAsDpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"AA+EA;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,YA2HzC,CAAC"}
1
+ {"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"AAqHA;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,YA+GzC,CAAC"}
@@ -4,7 +4,6 @@ import 'text-encoding-polyfill';
4
4
  import 'react-native-url-polyfill/auto';
5
5
  /** i18next polyfill to handle intl format for pluralization. For more info see https://www.i18next.com/misc/json-format#i-18-next-json-v4 */
6
6
  import 'intl-pluralrules';
7
- import './utils/keepCallAliveHeadlessTask';
8
7
  export * from '@stream-io/video-client';
9
8
  export * from '@stream-io/video-react-bindings';
10
9
  export * from './components';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,+CAA+C;AAC/C,OAAO,wBAAwB,CAAC;AAChC,8BAA8B;AAC9B,OAAO,gCAAgC,CAAC;AACxC,6IAA6I;AAC7I,OAAO,kBAAkB,CAAC;AAK1B,OAAO,mCAAmC,CAAC;AAa3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,+CAA+C;AAC/C,OAAO,wBAAwB,CAAC;AAChC,8BAA8B;AAC9B,OAAO,gCAAgC,CAAC;AACxC,6IAA6I;AAC7I,OAAO,kBAAkB,CAAC;AAiB1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,cAAc,+BAA+B,CAAC"}
@@ -64,11 +64,6 @@ export declare class CallManager {
64
64
  * in the native layer.
65
65
  */
66
66
  logAudioState: () => void;
67
- /**
68
- * For debugging purposes, returns the current audio state as a string.
69
- * @returns A string containing the current audio state information.
70
- */
71
- getAudioStateLog: () => string;
72
67
  }
73
68
  export {};
74
69
  //# sourceMappingURL=CallManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CallManager.d.ts","sourceRoot":"","sources":["../../../../src/modules/call-manager/CallManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAWvE,cAAM,kBAAkB;IACtB,OAAO,CAAC,YAAY,CAAC,CAAqB;IAE1C;;OAEG;IACH,oBAAoB,QAAa,OAAO,CAAC,iBAAiB,CAAC,CAGzD;IAEF;;;;OAIG;IACH,iBAAiB,GAAI,cAAc,MAAM,KAAG,IAAI,CAG9C;IAEF;;;OAGG;IACH,4BAA4B,GAC1B,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,IAAI,KACvD,CAAC,MAAM,IAAI,CAAC,CAKb;CACH;AAED,cAAM,cAAc;IAClB;;OAEG;IACH,kBAAkB,QAAO,IAAI,CAG3B;CACH;AAED,cAAM,cAAc;IAClB;;OAEG;IACH,OAAO,GAAI,MAAM,OAAO,KAAG,IAAI,CAM7B;IAEF;;OAEG;IACH,sBAAsB,GAAI,OAAO,OAAO,KAAG,IAAI,CAE7C;CACH;AAeD,qBAAa,WAAW;IACtB,OAAO,qBAA4B;IACnC,GAAG,iBAAwB;IAC3B,OAAO,iBAAwB;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,GAAI,SAAS,yBAAyB,KAAG,IAAI,CAkBhD;IAEF;;OAEG;IACH,IAAI,QAAO,IAAI,CAQb;IAEF;;;OAGG;IACH,aAAa,QAAO,IAAI,CAAkC;IAE1D;;;OAGG;IACH,gBAAgB,QAAO,MAAM,CAAqC;CACnE"}
1
+ {"version":3,"file":"CallManager.d.ts","sourceRoot":"","sources":["../../../../src/modules/call-manager/CallManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAQvE,cAAM,kBAAkB;IACtB,OAAO,CAAC,YAAY,CAAC,CAAqB;IAE1C;;OAEG;IACH,oBAAoB,QAAa,OAAO,CAAC,iBAAiB,CAAC,CAGzD;IAEF;;;;OAIG;IACH,iBAAiB,GAAI,cAAc,MAAM,KAAG,IAAI,CAG9C;IAEF;;;OAGG;IACH,4BAA4B,GAC1B,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,IAAI,KACvD,CAAC,MAAM,IAAI,CAAC,CAKb;CACH;AAED,cAAM,cAAc;IAClB;;OAEG;IACH,kBAAkB,QAAO,IAAI,CAG3B;CACH;AAED,cAAM,cAAc;IAClB;;OAEG;IACH,OAAO,GAAI,MAAM,OAAO,KAAG,IAAI,CAM7B;IAEF;;OAEG;IACH,sBAAsB,GAAI,OAAO,OAAO,KAAG,IAAI,CAE7C;CACH;AAED,qBAAa,WAAW;IACtB,OAAO,qBAA4B;IACnC,GAAG,iBAAwB;IAC3B,OAAO,iBAAwB;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,GAAI,SAAS,yBAAyB,KAAG,IAAI,CAUhD;IAEF;;OAEG;IACH,IAAI,QAAO,IAAI,CAEb;IAEF;;;OAGG;IACH,aAAa,QAAO,IAAI,CAAkC;CAC3D"}
@@ -12,6 +12,7 @@ export declare class StreamVideoRN {
12
12
  * This function accepts a partial config object that will be deeply merged with the default config.
13
13
  */
14
14
  static updateConfig(updateConfig: DeepPartial<Omit<StreamVideoConfig, 'push'>>): void;
15
+ static updateAndroidIncomingCallChannel(updateChannel: Partial<NonNullable<StreamVideoConfig['push']>['android']['incomingCallChannel']>): void;
15
16
  /**
16
17
  * Set the push config for StreamVideoRN.
17
18
  * This method must be called **outside** of your application lifecycle, e.g. alongside your
@@ -24,26 +25,7 @@ export declare class StreamVideoRN {
24
25
  * import App from './App';
25
26
  * // Set push config
26
27
  * const pushConfig = {}; // construct your config
27
- * // Set CallKit/Android Telecom API integration options. All params are optional. If not provided, the default values will be used.
28
- * const callingExpOptions = {
29
- * ios: {
30
- * callsHistory: true,
31
- * displayCallTimeout: 60000,
32
- * sound: 'ringtone',
33
- * imageName: 'callkit_icon',
34
- * },
35
- * android: {
36
- * incomingChannel: {
37
- * id: 'stream_incoming_call_notifications',
38
- * name: 'Call notifications',
39
- * vibration: true,
40
- * sound: 'default',
41
- * },
42
- * titleTransformer: (text: string) => text,
43
- * subtitleTransformer: (text: string) => text,
44
- * },
45
- * };
46
- * StreamVideoRN.setPushConfig(pushConfig, callingExpOptions);
28
+ * StreamVideoRN.setPushConfig(pushConfig);
47
29
  * AppRegistry.registerComponent('app', () => App);
48
30
  */
49
31
  static setPushConfig(pushConfig: NonNullable<StreamVideoConfig['push']>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAiC,EAC/B,KAAK,2BAA2B,EACjC,MAAM,sCAAsC,CAAC;AAW9C,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAgDF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+B;IACpD,OAAO,CAAC,MAAM,CAAC,eAAe,CAA+B;IAE7D;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACjB,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAK5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAyBvE,MAAM,CAAC,SAAS;IAIhB;;;OAGG;IACH,MAAM,CAAC,YAAY;IASnB,MAAM,CAAC,wBAAwB;IAI/B;;;;OAIG;IACH,MAAM,CAAC,gCAAgC,CACrC,QAAQ,EAAE,2BAA2B;IAavC;;OAEG;WACU,YAAY;IAIzB;;OAEG;WACU,YAAY;IAIzB;;;OAGG;WACU,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ9D;;;OAGG;WACU,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ7D;;;OAGG;WACU,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;CAO1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAiC,EAC/B,KAAK,2BAA2B,EACjC,MAAM,sCAAsC,CAAC;AAM9C,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAmDF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+B;IACpD,OAAO,CAAC,MAAM,CAAC,eAAe,CAA+B;IAE7D;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACjB,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAK5D,MAAM,CAAC,gCAAgC,CACrC,aAAa,EAAE,OAAO,CACpB,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CACzE;IAWH;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAsBvE,MAAM,CAAC,SAAS;IAIhB;;;OAGG;IACH,MAAM,CAAC,YAAY;IASnB,MAAM,CAAC,wBAAwB;IAI/B;;;;OAIG;IACH,MAAM,CAAC,gCAAgC,CACrC,QAAQ,EAAE,2BAA2B;IAavC;;OAEG;WACU,YAAY;IAIzB;;OAEG;WACU,YAAY;IAIzB;;;OAGG;WACU,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ9D;;;OAGG;WACU,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ7D;;;OAGG;WACU,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;CAO1D"}
@@ -1,15 +1,5 @@
1
1
  import { type ClientPublishOptions, StreamVideoClient, type Call } from '@stream-io/video-client';
2
2
  import type { AndroidChannel } from '@notifee/react-native';
3
- export type AndroidChannelConfig = {
4
- id: string;
5
- name: string;
6
- sound?: string;
7
- vibration?: boolean;
8
- };
9
- export type KeepAliveAndroidNotificationTexts = {
10
- title: string;
11
- body: string;
12
- };
13
3
  export type NonRingingPushEvent = 'call.live_started' | 'call.notification' | 'call.missed';
14
4
  export type StreamVideoConfig = {
15
5
  /**
@@ -32,27 +22,6 @@ export type StreamVideoConfig = {
32
22
  * @example "production-apn-video" or "staging-apn-video" based on the environment
33
23
  */
34
24
  pushProviderName?: string;
35
- supportsVideo?: boolean;
36
- /**
37
- * Sound to play when an incoming call is received. Must be a valid sound resource name in the project.
38
- * @default '' (no sound)
39
- */
40
- sound?: string;
41
- /**
42
- * Image to display when an incoming call is received. Must be a valid image resource name in the project.
43
- * @default '' (no image)
44
- */
45
- imageName?: string;
46
- /**
47
- * Enable calls history. When enabled, the call will be added to the calls history.
48
- * @default false
49
- */
50
- callsHistory?: boolean;
51
- /**
52
- * Timeout to display an incoming call. When the call is displayed for more than the timeout, the call will be rejected.
53
- * @default 60000 (1 minute)
54
- */
55
- displayCallTimeout?: number;
56
25
  };
57
26
  android: {
58
27
  /**
@@ -82,21 +51,28 @@ export type StreamVideoConfig = {
82
51
  * The notification channel to be used for incoming calls for Android.
83
52
  * @example
84
53
  * {
85
- * id: 'incoming_calls_channel',
86
- * name: 'Incoming calls',
87
- * sound?: string;
88
- * vibration?: boolean;
54
+ * id: 'stream_incoming_call',
55
+ * name: 'Incoming call notifications',
56
+ * importance: AndroidImportance.HIGH,
89
57
  * }
90
58
  */
91
- incomingChannel?: AndroidChannelConfig;
59
+ incomingCallChannel?: AndroidChannel;
92
60
  /**
93
- * The transformer to be used to transform the call title in the notification for ringing and ongoing calls for Android.
94
- */
95
- titleTransformer?: (memberName: string, incoming: boolean) => string;
96
- /**
97
- * The transformer to be used to transform the call subtitle for ringing and ongoing calls for Android.
61
+ * Functions to create the texts shown in the notification for incoming calls in Android.
62
+ * @example
63
+ * {
64
+ * getTitle: (createdUserName: string) => `Incoming call from ${createdUserName}`,
65
+ * getBody: (createdUserName: string) => `Tap to answer the call`
66
+ * getAcceptButtonTitle?: () => `Accept`,
67
+ * getDeclineButtonTitle?: () => `Decline`,
68
+ * }
98
69
  */
99
- subtitleTransformer?: (call_cid: string, incoming: boolean) => string;
70
+ incomingCallNotificationTextGetters?: {
71
+ getTitle: (createdUserName: string) => string;
72
+ getBody: (createdUserName: string) => string;
73
+ getAcceptButtonTitle?: () => string;
74
+ getDeclineButtonTitle?: () => string;
75
+ };
100
76
  /**
101
77
  * Functions to create the texts shown in the notification for non ringing calls in Android.
102
78
  * @example
@@ -122,16 +98,6 @@ export type StreamVideoConfig = {
122
98
  getBody: (type: NonRingingPushEvent, createdUserName: string) => string;
123
99
  };
124
100
  };
125
- /**
126
- * Whether to enable ongoing calls.
127
- * @default false
128
- */
129
- enableOngoingCalls?: boolean;
130
- /**
131
- * Whether to reject calls when the user is busy.
132
- * @default false
133
- */
134
- shouldRejectCallWhenBusy?: boolean;
135
101
  /**
136
102
  * This function is used to create a custom video client.
137
103
  * This is used create a video client for incoming calls in the background and inform call events to the server.
@@ -151,6 +117,12 @@ export type StreamVideoConfig = {
151
117
  * }
152
118
  */
153
119
  createStreamVideoClient: () => Promise<StreamVideoClient | undefined>;
120
+ /** @deprecated This method will be removed in the future. Please watch for incoming and outgoing calls in the root component of your app.
121
+ Please see https://getstream.io/video/docs/react-native/advanced/ringing-calls/#watch-for-incoming-and-outgoing-calls for more information */
122
+ navigateAcceptCall?: () => void;
123
+ /** @deprecated This method will be removed in the future. Please watch for incoming and outgoing calls in the root component of your app.
124
+ Please see https://getstream.io/video/docs/react-native/advanced/ringing-calls/#watch-for-incoming-and-outgoing-calls for more information */
125
+ navigateToIncomingCall?: () => void;
154
126
  /** Callback that is called when a non ringing push notification was tapped */
155
127
  onTapNonRingingCallNotification?: (call_cid: string, type: NonRingingPushEvent) => void;
156
128
  };
@@ -159,11 +131,14 @@ export type StreamVideoConfig = {
159
131
  /**
160
132
  * The notification channel to keep call alive in the background for Android using a foreground service.
161
133
  */
162
- channel: Omit<AndroidChannelConfig, 'sound' | 'vibration'>;
134
+ channel: AndroidChannel;
163
135
  /**
164
136
  * The texts shown in the notification to keep call alive in the background
165
137
  */
166
- notificationTexts: KeepAliveAndroidNotificationTexts;
138
+ notificationTexts: {
139
+ title: string;
140
+ body: string;
141
+ };
167
142
  /**
168
143
  * The task to run in the foreground service
169
144
  * The task must resolve a promise once complete
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,KAAK,IAAI,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,mBAAmB,GACnB,aAAa,CAAC;AAElB,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;QAEtC,GAAG,EAAE;YACH;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;YACxB;;;eAGG;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YACf;;;eAGG;YACH,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB;;;eAGG;YACH,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB;;;eAGG;YACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;SAC7B,CAAC;QACF,OAAO,EAAE;YACP;;;;eAIG;YACH,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B;;;;;;;;;eASG;YACH,WAAW,CAAC,EAAE,cAAc,CAAC;YAC7B;;;;;;;;;eASG;YACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;YACvC;;eAEG;YACH,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;YACrE;;eAEG;YACH,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;YACtE;;;;;;;;;;;;;;;;;;;eAmBG;YACH,2BAA2B,CAAC,EAAE;gBAC5B,QAAQ,EAAE,CACR,IAAI,EAAE,mBAAmB,EACzB,eAAe,EAAE,MAAM,KACpB,MAAM,CAAC;gBACZ,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;aACzE,CAAC;SACH,CAAC;QACF;;;WAGG;QACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B;;;WAGG;QACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC;;;;;;;;;;;;;;;;;WAiBG;QACH,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;QACtE,8EAA8E;QAC9E,+BAA+B,CAAC,EAAE,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;KACX,CAAC;IACF,iBAAiB,EAAE;QACjB,OAAO,EAAE;YACP;;eAEG;YACH,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC;YAC3D;;eAEG;YACH,iBAAiB,EAAE,iCAAiC,CAAC;YACrD;;;eAGG;YACH,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1C,CAAC;KACH,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,KAAK,IAAI,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,mBAAmB,GACnB,aAAa,CAAC;AAElB,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;QAEtC,GAAG,EAAE;YACH;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;QACF,OAAO,EAAE;YACP;;;;eAIG;YACH,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B;;;;;;;;;eASG;YACH,WAAW,CAAC,EAAE,cAAc,CAAC;YAC7B;;;;;;;;eAQG;YACH,mBAAmB,CAAC,EAAE,cAAc,CAAC;YACrC;;;;;;;;;eASG;YACH,mCAAmC,CAAC,EAAE;gBACpC,QAAQ,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;gBAC9C,OAAO,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;gBAC7C,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;gBACpC,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;aACtC,CAAC;YACF;;;;;;;;;;;;;;;;;;;eAmBG;YACH,2BAA2B,CAAC,EAAE;gBAC5B,QAAQ,EAAE,CACR,IAAI,EAAE,mBAAmB,EACzB,eAAe,EAAE,MAAM,KACpB,MAAM,CAAC;gBACZ,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;aACzE,CAAC;SACH,CAAC;QACF;;;;;;;;;;;;;;;;;WAiBG;QACH,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;QACtE;yJACiJ;QACjJ,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;QAChC;yJACiJ;QACjJ,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;QACpC,8EAA8E;QAC9E,+BAA+B,CAAC,EAAE,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;KACX,CAAC;IACF,iBAAiB,EAAE;QACjB,OAAO,EAAE;YACP;;eAEG;YACH,OAAO,EAAE,cAAc,CAAC;YACxB;;eAEG;YACH,iBAAiB,EAAE;gBACjB,KAAK,EAAE,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;YACF;;;eAGG;YACH,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1C,CAAC;KACH,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerSDKGlobals.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/registerSDKGlobals.ts"],"names":[],"mappings":"AAuFA,wBAAgB,kBAAkB,SAIjC"}
1
+ {"version":3,"file":"registerSDKGlobals.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/registerSDKGlobals.ts"],"names":[],"mappings":"AA4CA,wBAAgB,kBAAkB,SAIjC"}
@@ -11,8 +11,9 @@ export declare function initAndroidPushToken(client: StreamVideoClient, pushConf
11
11
  * For Ringing and Non-Ringing calls.
12
12
  */
13
13
  export declare const firebaseDataHandler: (data: FirebaseMessagingTypes.RemoteMessage["data"]) => Promise<void>;
14
- export declare const onAndroidNotifeeEvent: ({ event }: {
14
+ export declare const onAndroidNotifeeEvent: ({ event, isBackground, }: {
15
15
  event: Event;
16
+ isBackground: boolean;
16
17
  }) => Promise<void>;
17
18
  export {};
18
19
  //# sourceMappingURL=android.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/android.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,sBAAsB,EAM3B,KAAK,UAAU,EAChB,MAAM,QAAQ,CAAC;AAQhB,KAAK,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzD,KAAK,+BAA+B,GAAG,UAAU,CAC/C,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAC3C,CAAC,CAAC,CAAC,CAAC;AAEL,KAAK,KAAK,GAAG,UAAU,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;AAI5D,4BAA4B;AAC5B,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,UAAU,EACtB,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,iBAkE1D;AAED;;;GAGG;AAEH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,sBAAsB,CAAC,aAAa,CAAC,MAAM,CAAC,kBA6SnD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,WAAW;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,kBA6BtE,CAAC"}
1
+ {"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/android.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,sBAAsB,EAO3B,KAAK,UAAU,EAChB,MAAM,QAAQ,CAAC;AAsBhB,KAAK,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzD,KAAK,+BAA+B,GAAG,UAAU,CAC/C,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAC3C,CAAC,CAAC,CAAC,CAAC;AAEL,KAAK,KAAK,GAAG,UAAU,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;AAI5D,4BAA4B;AAC5B,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,UAAU,EACtB,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,iBAmE1D;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,sBAAsB,CAAC,aAAa,CAAC,MAAM,CAAC,kBAuRnD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,0BAGzC;IACD,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACvB,kBA2GA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../../../../src/utils/push/internal/ios.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAI9D,eAAO,MAAM,0BAA0B,GACrC,cAAc,GAAG,EACjB,YAAY,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,kBAwGnD,CAAC"}
1
+ {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../../../../src/utils/push/internal/ios.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,eAAO,MAAM,0BAA0B,GACrC,cAAc,GAAG,EACjB,YAAY,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,kBAuHnD,CAAC"}
@@ -8,4 +8,37 @@ export declare const pushNonRingingCallData$: BehaviorSubject<{
8
8
  cid: string;
9
9
  type: NonRingingPushEvent;
10
10
  } | undefined>;
11
+ /**
12
+ * This rxjs subject is used to store the call cid of the accepted incoming call from push notification
13
+ * Note: it is should be subscribed only when a user has connected to the websocket of Stream
14
+ */
15
+ export declare const pushAcceptedIncomingCallCId$: BehaviorSubject<string | undefined>;
16
+ /**
17
+ * This rxjs subject is used to store the call cid of the tapped incoming call from push notification it is neither accepted nor rejected yet
18
+ * Note: it should be subscribed only when a user has connected to the websocket of Stream
19
+ */
20
+ export declare const pushTappedIncomingCallCId$: BehaviorSubject<string | undefined>;
21
+ /**
22
+ * This rxjs subject is used to store the call cid of the delivered incoming call from push notification it is neither accepted nor rejected yet
23
+ * Used so that the call is navigated to when app is open from being killed
24
+ * Note: it should be subscribed only when a user has connected to the websocket of Stream
25
+ */
26
+ export declare const pushAndroidBackgroundDeliveredIncomingCallCId$: BehaviorSubject<string | undefined>;
27
+ /**
28
+ * This rxjs subject is used to store the call cid of the accepted incoming call from push notification
29
+ * Note: it should be subscribed only when a user has connected to the websocket of Stream
30
+ */
31
+ export declare const pushRejectedIncomingCallCId$: BehaviorSubject<string | undefined>;
32
+ /**
33
+ * This rxjs subject is used to store the call cid of the incoming call from ios voip pushkit notification
34
+ */
35
+ export declare const voipPushNotificationCallCId$: BehaviorSubject<string | undefined>;
36
+ /** The pair of cid of a call and its corresponding uuid created in the native side */
37
+ type CallkeepMap = {
38
+ uuid: string;
39
+ cid: string;
40
+ };
41
+ export declare const voipCallkeepCallOnForegroundMap$: BehaviorSubject<CallkeepMap | undefined>;
42
+ export declare const voipCallkeepAcceptedCallOnNativeDialerMap$: BehaviorSubject<CallkeepMap | undefined>;
43
+ export {};
11
44
  //# sourceMappingURL=rxSubjects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rxSubjects.d.ts","sourceRoot":"","sources":["../../../../../src/utils/push/internal/rxSubjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,uBAAuB;SAC3B,MAAM;UAAQ,mBAAmB;cAC9B,CAAC"}
1
+ {"version":3,"file":"rxSubjects.d.ts","sourceRoot":"","sources":["../../../../../src/utils/push/internal/rxSubjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,uBAAuB;SAC3B,MAAM;UAAQ,mBAAmB;cAC9B,CAAC;AAEb;;;GAGG;AACH,eAAO,MAAM,4BAA4B,qCAE7B,CAAC;AAEb;;;GAGG;AACH,eAAO,MAAM,0BAA0B,qCAE3B,CAAC;AAEb;;;;GAIG;AACH,eAAO,MAAM,8CAA8C,qCACP,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,qCAE7B,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,4BAA4B,qCAE7B,CAAC;AAEb,sFAAsF;AACtF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAOF,eAAO,MAAM,gCAAgC,0CAEjC,CAAC;AAKb,eAAO,MAAM,0CAA0C,0CAE3C,CAAC"}
@@ -10,7 +10,7 @@ type CanAddPushWSSubscriptionsRef = {
10
10
  */
11
11
  export declare const shouldCallBeEnded: (callFromPush: Call, created_by_id: string | undefined, receiver_id: string | undefined) => {
12
12
  mustEndCall: boolean;
13
- endCallReason: "rejected" | "answeredElsewhere" | "canceled" | "unknown";
13
+ callkeepReason: number;
14
14
  };
15
15
  export declare const processCallFromPushInBackground: (pushConfig: PushConfig, call_cid: string, action: Parameters<typeof processCallFromPush>[2]) => Promise<void>;
16
16
  /**
@@ -39,12 +39,5 @@ export declare const clearPushWSEventSubscriptions: (call_cid: string) => void;
39
39
  * It is used to avoid adding the push WS subscriptions when the client is connected to WS in the foreground
40
40
  */
41
41
  export declare const canAddPushWSSubscriptionsRef: CanAddPushWSSubscriptionsRef;
42
- export declare const canListenToWS: () => boolean;
43
- export declare const shouldCallBeClosed: (call: Call, pushData: {
44
- [key: string]: string | object;
45
- }) => {
46
- mustEndCall: boolean;
47
- endCallReason: "rejected" | "answeredElsewhere" | "canceled" | "unknown";
48
- };
49
42
  export {};
50
43
  //# sourceMappingURL=utils.d.ts.map