@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
@@ -1 +1 @@
1
- {"version":3,"names":["pushLogoutCallbacks","newNotificationCallbacks","setupIosVoipPushEvents","setupCallingExpEvents","extractCallingExpOptions","getCallingxLib","NativeModules","Platform","videoLoggerSystem","deepMerge","target","source","result","key","undefined","Array","isArray","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","notificationTexts","title","body","taskToRun","Promise","StreamVideoRN","config","busyToneTimeout","updateConfig","setPushConfig","pushConfig","push","callingx","getLogger","info","JSON","stringify","options","setup","Error","getConfig","onPushLogout","current","all","map","callback","then","resolve","clearPushLogoutCallbacks","addOnNewCallNotificationListener","filter","cb","playBusyTone","StreamVideoReactNative","stopBusyTone","androidHasAudioOutputHardware","OS","hasAudioOutputHardware","androidHasMicrophoneHardware","hasMicrophoneHardware","androidHasCameraHardware","hasCameraHardware"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["pushLogoutCallbacks","newNotificationCallbacks","setupIosCallKeepEvents","setupIosVoipPushEvents","NativeModules","Platform","deepMerge","target","source","result","key","undefined","Array","isArray","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","lights","vibration","importance","notificationTexts","title","body","taskToRun","Promise","StreamVideoRN","config","busyToneTimeout","updateConfig","updateAndroidIncomingCallChannel","updateChannel","prevChannel","push","incomingCallChannel","setPushConfig","pushConfig","__DEV__","navigateAcceptCall","navigateToIncomingCall","Error","getConfig","onPushLogout","current","all","map","callback","then","resolve","clearPushLogoutCallbacks","addOnNewCallNotificationListener","filter","cb","playBusyTone","StreamVideoReactNative","stopBusyTone","androidHasAudioOutputHardware","OS","hasAudioOutputHardware","androidHasMicrophoneHardware","hasMicrophoneHardware","androidHasCameraHardware","hasCameraHardware"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"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","ignoreList":[]}
@@ -1,67 +1,18 @@
1
1
  import { NativeModules, PermissionsAndroid, Platform } from 'react-native';
2
- import { getCallingxLibIfAvailable } from '../push/libs/callingx';
3
- import { endCallingxCall, startCallingxCall } from './callingx/callingx';
4
2
  const StreamInCallManagerNativeModule = NativeModules.StreamInCallManager;
5
3
  const StreamVideoReactNativeModule = NativeModules.StreamVideoReactNative;
6
- const CallingxModule = getCallingxLibIfAvailable();
7
-
8
- /**
9
- * Checks if StreamInCallManager should be bypassed because CallKit is handling
10
- * the audio session via CallingX.
11
- *
12
- * On iOS, when CallingX is set up and has a registered call, the audio session
13
- * is managed by CallKit through CallingxImpl.swift.
14
- * In this case, StreamInCallManager should not run to avoid conflicting audio
15
- * session configurations.
16
- */
17
- const shouldBypassForCallKit = ({
18
- isRingingTypeCall
19
- }) => {
20
- if (Platform.OS !== 'ios') {
21
- return false;
22
- }
23
- if (!CallingxModule) {
24
- return false;
25
- }
26
- const bypass = CallingxModule.isSetup && (isRingingTypeCall || CallingxModule.isOngoingCallsEnabled);
27
- return bypass;
28
- };
29
4
  const streamRNVideoSDKGlobals = {
30
- callingX: {
31
- startCall: startCallingxCall,
32
- endCall: endCallingxCall
33
- },
34
5
  callManager: {
35
6
  setup: ({
36
- defaultDevice,
37
- isRingingTypeCall
7
+ defaultDevice
38
8
  }) => {
39
- if (shouldBypassForCallKit({
40
- isRingingTypeCall
41
- })) {
42
- return;
43
- }
44
9
  StreamInCallManagerNativeModule.setDefaultAudioDeviceEndpointType(defaultDevice);
45
10
  StreamInCallManagerNativeModule.setup();
46
11
  },
47
- start: ({
48
- isRingingTypeCall
49
- }) => {
50
- if (shouldBypassForCallKit({
51
- isRingingTypeCall
52
- })) {
53
- return;
54
- }
12
+ start: () => {
55
13
  StreamInCallManagerNativeModule.start();
56
14
  },
57
- stop: ({
58
- isRingingTypeCall
59
- }) => {
60
- if (shouldBypassForCallKit({
61
- isRingingTypeCall
62
- })) {
63
- return;
64
- }
15
+ stop: () => {
65
16
  StreamInCallManagerNativeModule.stop();
66
17
  }
67
18
  },
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","PermissionsAndroid","Platform","getCallingxLibIfAvailable","endCallingxCall","startCallingxCall","StreamInCallManagerNativeModule","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","shouldBypassForCallKit","isRingingTypeCall","OS","bypass","isSetup","isOngoingCallsEnabled","streamRNVideoSDKGlobals","callingX","startCall","endCall","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","nativeAndroidPermission","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"AACA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAC1E,SAASC,yBAAyB,QAAQ,uBAAuB;AACjE,SAASC,eAAe,EAAEC,iBAAiB,QAAQ,qBAAqB;AAExE,MAAMC,+BAA+B,GAAGN,aAAa,CAACO,mBAAmB;AACzE,MAAMC,4BAA4B,GAAGR,aAAa,CAACS,sBAElD;AAED,MAAMC,cAAc,GAAGP,yBAAyB,CAAC,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMQ,sBAAsB,GAAGA,CAAC;EAC9BC;AAGF,CAAC,KAAc;EACb,IAAIV,QAAQ,CAACW,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO,KAAK;EACd;EACA,IAAI,CAACH,cAAc,EAAE;IACnB,OAAO,KAAK;EACd;EACA,MAAMI,MAAM,GACVJ,cAAc,CAACK,OAAO,KACrBH,iBAAiB,IAAIF,cAAc,CAACM,qBAAqB,CAAC;EAC7D,OAAOF,MAAM;AACf,CAAC;AAED,MAAMG,uBAAgD,GAAG;EACvDC,QAAQ,EAAE;IACRC,SAAS,EAAEd,iBAAiB;IAC5Be,OAAO,EAAEhB;EACX,CAAC;EACDiB,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC,aAAa;MAAEX;IAAkB,CAAC,KAAK;MAC/C,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAN,+BAA+B,CAACkB,iCAAiC,CAC/DD,aACF,CAAC;MACDjB,+BAA+B,CAACgB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAC;MAAEb;IAAkB,CAAC,KAAK;MAChC,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAN,+BAA+B,CAACmB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAC;MAAEd;IAAkB,CAAC,KAAK;MAC/B,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAN,+BAA+B,CAACoB,IAAI,CAAC,CAAC;IACxC;EACF,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAE,MAAOC,UAAU,IAAK;MAC3B,IAAI3B,QAAQ,CAACW,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMiB,uBAAuB,GAC3BD,UAAU,KAAK,QAAQ,GACnB5B,kBAAkB,CAAC8B,WAAW,CAACC,MAAM,GACrC/B,kBAAkB,CAAC8B,WAAW,CAACE,YAAY;QACjD,OAAOhC,kBAAkB,CAAC2B,KAAK,CAACE,uBAAuB,CAAC;MAC1D;;MAEA;MACA,OAAOI,OAAO,CACZ,MAAM1B,4BAA4B,CAAC2B,eAAe,GAAGN,UAAU,CACjE,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,SAASO,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGrB,uBAAuB;EACnD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","PermissionsAndroid","Platform","StreamInCallManagerNativeModule","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","streamRNVideoSDKGlobals","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","OS","nativeAndroidPermission","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"AACA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAE1E,MAAMC,+BAA+B,GAAGH,aAAa,CAACI,mBAAmB;AACzE,MAAMC,4BAA4B,GAAGL,aAAa,CAACM,sBAElD;AAED,MAAMC,uBAAgD,GAAG;EACvDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC;IAAc,CAAC,KAAK;MAC5BP,+BAA+B,CAACQ,iCAAiC,CAC/DD,aACF,CAAC;MACDP,+BAA+B,CAACM,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAA,KAAM;MACXT,+BAA+B,CAACS,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAA,KAAM;MACVV,+BAA+B,CAACU,IAAI,CAAC,CAAC;IACxC;EACF,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAE,MAAOC,UAAU,IAAK;MAC3B,IAAId,QAAQ,CAACe,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMC,uBAAuB,GAC3BF,UAAU,KAAK,QAAQ,GACnBf,kBAAkB,CAACkB,WAAW,CAACC,MAAM,GACrCnB,kBAAkB,CAACkB,WAAW,CAACE,YAAY;QACjD,OAAOpB,kBAAkB,CAACc,KAAK,CAACG,uBAAuB,CAAC;MAC1D;;MAEA;MACA,OAAOI,OAAO,CACZ,MAAMjB,4BAA4B,CAACkB,eAAe,GAAGP,UAAU,CACjE,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,SAASQ,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGnB,uBAAuB;EACnD;AACF","ignoreList":[]}
@@ -1,12 +1,14 @@
1
1
  import { CallingState, videoLoggerSystem } from '@stream-io/video-client';
2
2
  import { AppState, Platform } from 'react-native';
3
- import { getExpoNotificationsLib, getExpoNotificationsLibNoThrow, getFirebaseMessagingLib, getFirebaseMessagingLibNoThrow, getNotifeeLibThrowIfNotInstalledForPush } from './libs';
4
- import { pushNonRingingCallData$ } from './internal/rxSubjects';
3
+ import { getExpoNotificationsLib, getExpoNotificationsLibNoThrow, getFirebaseMessagingLib, getFirebaseMessagingLibNoThrow, getIncomingCallForegroundServiceTypes, getNotifeeLibThrowIfNotInstalledForPush } from './libs';
4
+ import { pushAcceptedIncomingCallCId$, pushAndroidBackgroundDeliveredIncomingCallCId$, pushNonRingingCallData$, pushRejectedIncomingCallCId$, pushTappedIncomingCallCId$ } from './internal/rxSubjects';
5
5
  import { pushUnsubscriptionCallbacks } from './internal/constants';
6
- import { canListenToWS, shouldCallBeClosed } from './internal/utils';
6
+ import { canAddPushWSSubscriptionsRef, clearPushWSEventSubscriptions, processCallFromPushInBackground, shouldCallBeEnded } from './internal/utils';
7
7
  import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
8
+ import { getAndroidDefaultRingtoneUrl } from '../getAndroidDefaultRingtoneUrl';
8
9
  import { StreamVideoRN } from '../StreamVideoRN';
9
- import { getCallingxLib } from './libs/callingx';
10
+ const ACCEPT_CALL_ACTION_ID = 'accept';
11
+ const DECLINE_CALL_ACTION_ID = 'decline';
10
12
  let lastFirebaseToken = {
11
13
  token: '',
12
14
  userId: ''
@@ -61,7 +63,8 @@ export async function initAndroidPushToken(client, pushConfig, setUnsubscribeLis
61
63
  await setDeviceToken(token);
62
64
  }
63
65
  }
64
- const messaging = pushConfig.isExpo ? getFirebaseMessagingLibNoThrow(true) : getFirebaseMessagingLib();
66
+ // TODO: remove the incomingCallChannel check and find a better way once we have telecom integration for android
67
+ const messaging = pushConfig.isExpo && !pushConfig.android.incomingCallChannel ? getFirebaseMessagingLibNoThrow(true) : getFirebaseMessagingLib();
65
68
  if (messaging) {
66
69
  logger.debug(`setting firebase token listeners`);
67
70
  const unsubscribe = messaging().onTokenRefresh(refreshedToken => setDeviceToken(refreshedToken));
@@ -75,8 +78,8 @@ export async function initAndroidPushToken(client, pushConfig, setUnsubscribeLis
75
78
  * Creates notification from the push message data.
76
79
  * For Ringing and Non-Ringing calls.
77
80
  */
78
-
79
81
  export const firebaseDataHandler = async data => {
82
+ if (Platform.OS !== 'android') return;
80
83
  /* Example data from firebase
81
84
  "message": {
82
85
  "data": {
@@ -92,175 +95,174 @@ export const firebaseDataHandler = async data => {
92
95
  // other stuff
93
96
  }
94
97
  */
95
- if (Platform.OS !== 'android') return;
96
- const logger = videoLoggerSystem.getLogger('firebaseDataHandler');
97
98
  const pushConfig = StreamVideoRN.getConfig().push;
98
99
  if (!pushConfig || !data || data.sender !== 'stream.video') {
99
100
  return;
100
101
  }
102
+ const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
103
+ const notifee = notifeeLib.default;
104
+ const settings = await notifee.getNotificationSettings();
105
+ if (settings.authorizationStatus !== 1) {
106
+ const logger = videoLoggerSystem.getLogger('firebaseDataHandler');
107
+ logger.debug(`Notification permission not granted, unable to post ${data.type} notifications`);
108
+ return;
109
+ }
101
110
  if (data.type === 'call.ring') {
102
111
  const call_cid = data.call_cid;
103
- if (!call_cid) {
104
- logger.debug(`call_cid is not provided, skipping the call.ring notification`);
105
- return;
106
- }
107
- const callingx = getCallingxLib();
108
- if (!callingx.canPostNotifications) {
109
- logger.warn(`Cannot post notifications, skipping the call.ring notification`);
110
- return;
111
- }
112
- const client = await pushConfig.createStreamVideoClient();
113
- if (!client) {
114
- logger.debug(`video client not found, skipping the call.ring notification`);
115
- return;
116
- }
117
- const shouldRejectCallWhenBusy = client['rejectCallWhenBusy'] ?? false;
118
- if (callingx.hasRegisteredCall() && shouldRejectCallWhenBusy) {
119
- logger.debug(`registered call found, skipping the call.ring notification`);
120
- return;
121
- }
112
+ const created_by_id = data.created_by_id;
113
+ const receiver_id = data.receiver_id;
114
+ const video_client = await pushConfig.createStreamVideoClient();
115
+ await video_client?.onRingingCall(call_cid);
116
+ const shouldCallBeClosed = callToCheck => {
117
+ const {
118
+ mustEndCall
119
+ } = shouldCallBeEnded(callToCheck, created_by_id, receiver_id);
120
+ return mustEndCall;
121
+ };
122
+ const canListenToWS = () => canAddPushWSSubscriptionsRef.current && AppState.currentState !== 'active';
122
123
  const asForegroundService = canListenToWS();
123
- const callerName = data.created_by_display_name;
124
- const hasVideo = data.video === 'true';
125
124
  if (asForegroundService) {
126
125
  // Listen to call events from WS through fg service
127
126
  // note: this will replace the current empty fg service runner
128
- //we need to start service (e.g. by calling display incoming call) and than launch bg task, consider making those steps independent
129
- callingx.registerBackgroundTask((_, stopTask) => {
130
- return new Promise(resolve => {
131
- const finishBackgroundTask = () => {
132
- callingx.log(`Finishing background task for callCid: ${call_cid}`, 'debug');
133
- resolve(undefined);
134
- stopTask();
135
- };
136
- (async () => {
137
- try {
138
- const _client = await pushConfig.createStreamVideoClient();
139
- if (!_client) {
140
- logger.debug(`Closing fg service as there is no client to create from push config`);
141
- finishBackgroundTask();
142
- return;
143
- }
144
- const callFromPush = await _client.onRingingCall(call_cid);
145
- const {
146
- mustEndCall,
147
- endCallReason
148
- } = shouldCallBeClosed(callFromPush, data);
149
- if (mustEndCall) {
150
- logger.debug(`Closing fg service callCid: ${call_cid} endCallReason: ${endCallReason}`);
151
- finishBackgroundTask();
152
- callingx.log(`Ending call with callCid: ${call_cid} endCallReason: ${endCallReason}`, 'debug');
153
- callingx.endCallWithReason(call_cid, endCallReason);
154
- return;
155
- }
156
- const unsubscribeFunctions = [];
157
- // check if service needs to be closed if accept/decline event was done on another device
158
- const unsubscribe = callFromPush.on('all', event => {
159
- const _canListenToWS = canListenToWS();
160
- if (!_canListenToWS) {
161
- logger.debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, {
162
- event
163
- });
164
- unsubscribeFunctions.forEach(fn => fn());
165
- finishBackgroundTask();
166
- return;
167
- }
168
- const {
169
- mustEndCall: mustEndCallFromEvent,
170
- endCallReason: endCallReasonFromEvent
171
- } = shouldCallBeClosed(callFromPush, data);
172
- if (mustEndCallFromEvent) {
173
- logger.debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS} shouldCallBeClosed`, {
174
- event
175
- });
176
- unsubscribeFunctions.forEach(fn => fn());
177
- finishBackgroundTask();
178
- callingx.endCallWithReason(call_cid, endCallReasonFromEvent);
179
- }
127
+ notifee.registerForegroundService(() => {
128
+ return new Promise(async () => {
129
+ const client = await pushConfig.createStreamVideoClient();
130
+ if (!client) {
131
+ videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service as there is no client to create from push config`);
132
+ notifee.stopForegroundService();
133
+ return;
134
+ }
135
+ const callFromPush = await client.onRingingCall(call_cid);
136
+ let _shouldCallBeClosed = shouldCallBeClosed(callFromPush);
137
+ if (_shouldCallBeClosed) {
138
+ videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service callCid: ${call_cid} shouldCallBeClosed: ${_shouldCallBeClosed}`);
139
+ notifee.stopForegroundService();
140
+ return;
141
+ }
142
+ const unsubscribeFunctions = [];
143
+ // check if service needs to be closed if accept/decline event was done on another device
144
+ const unsubscribe = callFromPush.on('all', event => {
145
+ const _canListenToWS = canListenToWS();
146
+ if (!_canListenToWS) {
147
+ videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, {
148
+ event
180
149
  });
181
-
182
- // check if service needs to be closed if call was left
183
- const stateSubscription = callFromPush.state.callingState$.subscribe(callingState => {
184
- if (callingState === CallingState.IDLE || callingState === CallingState.LEFT) {
185
- logger.debug(`Closing fg service from callingState callCid: ${call_cid} callingState: ${callingState}`);
186
- unsubscribeFunctions.forEach(fn => fn());
187
-
188
- //TODO: think about sending appropriate reason for end call
189
- callingx.log(`Ending call with callCid: ${call_cid} callingState: ${callingState}`, 'debug');
190
- finishBackgroundTask();
191
- callingx.endCallWithReason(call_cid, 'remote');
192
- }
193
- });
194
- const endCallSubscription = callingx.addEventListener('endCall', async ({
195
- callId
196
- }) => {
197
- unsubscribeFunctions.forEach(fn => fn());
198
- try {
199
- await callFromPush.leave({
200
- reject: true,
201
- reason: 'decline'
202
- });
203
- } catch (error) {
204
- logger.error(`Failed to leave call with callCid: ${call_cid} error: ${error}`);
205
- } finally {
206
- callingx.log(`Ending call with callCid: ${call_cid} callId: ${callId}`, 'debug');
207
- finishBackgroundTask();
208
- callingx.endCallWithReason(callId, 'rejected');
209
- }
210
- });
211
-
212
- //stop background task when app comes to foreground
213
- const appStateSubscription = AppState.addEventListener('change', nextAppState => {
214
- const _canListenToWS = canListenToWS();
215
- callingx.log(`AppState changed to: ${nextAppState} for callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, 'debug');
216
- if (!_canListenToWS) {
217
- unsubscribeFunctions.forEach(fn => fn());
218
- finishBackgroundTask();
219
- return;
220
- }
150
+ unsubscribeFunctions.forEach(fn => fn());
151
+ notifee.stopForegroundService();
152
+ return;
153
+ }
154
+ _shouldCallBeClosed = shouldCallBeClosed(callFromPush);
155
+ if (_shouldCallBeClosed) {
156
+ videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS} shouldCallBeClosed: ${_shouldCallBeClosed}`, {
157
+ event
221
158
  });
222
- unsubscribeFunctions.push(unsubscribe);
223
- unsubscribeFunctions.push(() => stateSubscription.unsubscribe());
224
- unsubscribeFunctions.push(() => endCallSubscription.remove());
225
- unsubscribeFunctions.push(() => appStateSubscription.remove());
226
- pushUnsubscriptionCallbacks.get(call_cid)?.forEach(cb => cb());
227
- pushUnsubscriptionCallbacks.set(call_cid, unsubscribeFunctions);
228
- } catch (error) {
229
- callingx.log(`Failed to start background task with callCid: ${call_cid} error: ${error}`, 'error');
230
- finishBackgroundTask();
159
+ unsubscribeFunctions.forEach(fn => fn());
160
+ notifee.stopForegroundService();
161
+ }
162
+ });
163
+ // check if service needs to be closed if call was left
164
+ const subscription = callFromPush.state.callingState$.subscribe(callingState => {
165
+ if (callingState === CallingState.IDLE || callingState === CallingState.LEFT) {
166
+ videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service from callingState callCid: ${call_cid} callingState: ${callingState}`);
167
+ unsubscribeFunctions.forEach(fn => fn());
168
+ notifee.stopForegroundService();
231
169
  }
232
- })();
170
+ });
171
+ unsubscribeFunctions.push(unsubscribe);
172
+ unsubscribeFunctions.push(() => subscription.unsubscribe());
173
+ pushUnsubscriptionCallbacks.get(call_cid)?.forEach(cb => cb());
174
+ pushUnsubscriptionCallbacks.set(call_cid, unsubscribeFunctions);
233
175
  });
234
176
  });
235
177
  }
236
- await callingx.displayIncomingCall(call_cid, call_cid, callerName, hasVideo);
237
- logger.debug(`Displaying incoming call notification with callCid: ${call_cid} asForegroundService: ${asForegroundService}`);
178
+ const incomingCallChannel = pushConfig.android.incomingCallChannel;
179
+ const incomingCallNotificationTextGetters = pushConfig.android.incomingCallNotificationTextGetters;
180
+ if (!incomingCallChannel || !incomingCallNotificationTextGetters) {
181
+ const logger = videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler');
182
+ logger.error("Can't show incoming call notification as either or both incomingCallChannel and incomingCallNotificationTextGetters were not provided");
183
+ return;
184
+ }
185
+ /*
186
+ * Sound has to be set on channel level for android 8 and above and cant be updated later after creation!
187
+ * For android 7 and below, sound should be set on notification level
188
+ */
189
+ // set default ringtone if not provided
190
+ if (!incomingCallChannel.sound) {
191
+ incomingCallChannel.sound = await getAndroidDefaultRingtoneUrl();
192
+ }
193
+ await notifee.createChannel(incomingCallChannel);
194
+ const {
195
+ getTitle,
196
+ getBody,
197
+ getAcceptButtonTitle,
198
+ getDeclineButtonTitle
199
+ } = incomingCallNotificationTextGetters;
200
+ const createdUserName = data.created_by_display_name;
201
+ const title = getTitle(createdUserName);
202
+ const body = getBody(createdUserName);
203
+ videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Displaying incoming call notification with callCid: ${call_cid} title: ${title} body: ${body} asForegroundService: ${asForegroundService}`);
204
+ const channelId = incomingCallChannel.id;
205
+ await notifee.displayNotification({
206
+ id: call_cid,
207
+ title: getTitle(createdUserName),
208
+ body: getBody(createdUserName),
209
+ data,
210
+ android: {
211
+ channelId,
212
+ smallIcon: pushConfig.android.smallIcon,
213
+ importance: 4,
214
+ // high importance
215
+ foregroundServiceTypes: getIncomingCallForegroundServiceTypes(),
216
+ asForegroundService,
217
+ ongoing: true,
218
+ sound: incomingCallChannel.sound,
219
+ vibrationPattern: incomingCallChannel.vibrationPattern,
220
+ loopSound: true,
221
+ pressAction: {
222
+ id: 'default',
223
+ launchActivity: 'default' // open the app when the notification is pressed
224
+ },
225
+ actions: [{
226
+ title: getDeclineButtonTitle?.() ?? 'Decline',
227
+ pressAction: {
228
+ id: DECLINE_CALL_ACTION_ID
229
+ }
230
+ }, {
231
+ title: getAcceptButtonTitle?.() ?? 'Accept',
232
+ pressAction: {
233
+ id: ACCEPT_CALL_ACTION_ID,
234
+ launchActivity: 'default' // open the app when the notification is pressed
235
+ }
236
+ }],
237
+ category: notifeeLib.AndroidCategory.CALL,
238
+ fullScreenAction: {
239
+ id: 'stream_ringing_incoming_call'
240
+ },
241
+ timeoutAfter: 60000 // 60 seconds, after which the notification will be dismissed automatically
242
+ }
243
+ });
238
244
  if (asForegroundService) {
239
245
  // no need to check if call has be closed as that will be handled by the fg service
240
246
  return;
241
247
  }
248
+
249
+ // check if call needs to be closed if accept/decline event was done
250
+ // before the notification was shown
251
+ const client = await pushConfig.createStreamVideoClient();
252
+ if (!client) {
253
+ return;
254
+ }
242
255
  const callFromPush = await client.onRingingCall(call_cid);
243
- const {
244
- mustEndCall,
245
- endCallReason
246
- } = shouldCallBeClosed(callFromPush, data);
247
- if (mustEndCall) {
248
- logger.debug(`Removing incoming call notification immediately with callCid: ${call_cid} as it should be closed`);
249
- callingx.endCallWithReason(call_cid, endCallReason);
256
+ if (shouldCallBeClosed(callFromPush)) {
257
+ videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Removing incoming call notification immediately with callCid: ${call_cid} as it should be closed`);
258
+ notifee.cancelDisplayedNotification(call_cid);
250
259
  }
251
260
  } else {
252
- const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
253
- const notifee = notifeeLib.default;
254
- const settings = await notifee.getNotificationSettings();
255
- if (settings.authorizationStatus !== 1) {
256
- logger.debug(`Notification permission not granted, unable to post ${data.type} notifications`);
257
- return;
258
- }
259
-
260
261
  // the other types are call.live_started and call.notification
261
262
  const callChannel = pushConfig.android.callChannel;
262
263
  const callNotificationTextGetters = pushConfig.android.callNotificationTextGetters;
263
264
  if (!callChannel || !callNotificationTextGetters) {
265
+ const logger = videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler');
264
266
  logger.debug("Can't show call notification as either or both callChannel and callNotificationTextGetters is not provided");
265
267
  return;
266
268
  }
@@ -275,10 +277,10 @@ export const firebaseDataHandler = async data => {
275
277
  const type = data.type;
276
278
  const title = getTitle(type, createdUserName);
277
279
  const body = getBody(type, createdUserName);
278
- logger.debug(`Displaying NonRingingPushEvent ${type} notification with title: ${title} body: ${body}`);
280
+ videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Displaying NonRingingPushEvent ${type} notification with title: ${title} body: ${body}`);
279
281
  await notifee.displayNotification({
280
- title,
281
- body,
282
+ title: getTitle(type, createdUserName),
283
+ body: getBody(type, createdUserName),
282
284
  data,
283
285
  android: {
284
286
  sound: callChannel.sound,
@@ -302,7 +304,8 @@ export const firebaseDataHandler = async data => {
302
304
  }
303
305
  };
304
306
  export const onAndroidNotifeeEvent = async ({
305
- event
307
+ event,
308
+ isBackground
306
309
  }) => {
307
310
  if (Platform.OS !== 'android') return;
308
311
  const {
@@ -310,7 +313,8 @@ export const onAndroidNotifeeEvent = async ({
310
313
  detail
311
314
  } = event;
312
315
  const {
313
- notification
316
+ notification,
317
+ pressAction
314
318
  } = detail;
315
319
  const notificationId = notification?.id;
316
320
  const data = notification?.data;
@@ -321,10 +325,53 @@ export const onAndroidNotifeeEvent = async ({
321
325
 
322
326
  // we can safely cast to string because the data is from "stream.video"
323
327
  const call_cid = data.call_cid;
324
- const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
325
- if (type === notifeeLib.EventType.PRESS) {
326
- videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`onTapNonRingingCallNotification with callCId: ${call_cid}`);
327
- pushConfig.onTapNonRingingCallNotification?.(call_cid, data.type);
328
+ if (data.type === 'call.ring') {
329
+ // check if we have observers for the call cid (this means the app is in the foreground state)
330
+ const hasObservers = pushAcceptedIncomingCallCId$.observed && pushRejectedIncomingCallCId$.observed;
331
+ const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
332
+ const notifee = notifeeLib.default;
333
+ // Check if we need to decline the call
334
+ const didPressDecline = type === notifeeLib.EventType.ACTION_PRESS && pressAction?.id === DECLINE_CALL_ACTION_ID;
335
+ const didDismiss = type === notifeeLib.EventType.DISMISSED;
336
+ const mustDecline = didPressDecline || didDismiss;
337
+ // Check if we need to accept the call
338
+ const mustAccept = type === notifeeLib.EventType.ACTION_PRESS && pressAction?.id === ACCEPT_CALL_ACTION_ID;
339
+ if (mustAccept || mustDecline || type === notifeeLib.EventType.ACTION_PRESS) {
340
+ videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`clearPushWSEventSubscriptions for callCId: ${call_cid} mustAccept: ${mustAccept} mustDecline: ${mustDecline}`);
341
+ clearPushWSEventSubscriptions(call_cid);
342
+ notifee.stopForegroundService();
343
+ }
344
+ if (mustAccept) {
345
+ videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushAcceptedIncomingCallCId$ added with callCId: ${call_cid}`);
346
+ pushAcceptedIncomingCallCId$.next(call_cid);
347
+ // NOTE: accept will be handled by the app with rxjs observers as the app will go to foreground always
348
+ } else if (mustDecline) {
349
+ videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushRejectedIncomingCallCId$ added with callCId: ${call_cid}`);
350
+ pushRejectedIncomingCallCId$.next(call_cid);
351
+ if (hasObservers) {
352
+ // if we had observers we can return here as the observers will handle the call as the app is in the foreground state
353
+ videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`Skipped processCallFromPushInBackground for Declining call with callCId: ${call_cid} as the app is in the foreground state`);
354
+ return;
355
+ }
356
+ videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`start processCallFromPushInBackground - Declining call with callCId: ${call_cid}`);
357
+ await processCallFromPushInBackground(pushConfig, call_cid, 'decline');
358
+ } else {
359
+ if (type === notifeeLib.EventType.PRESS) {
360
+ videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushTappedIncomingCallCId$ added with callCId: ${call_cid}`);
361
+ pushTappedIncomingCallCId$.next(call_cid);
362
+ // pressed state will be handled by the app with rxjs observers as the app will go to foreground always
363
+ } else if (isBackground && type === notifeeLib.EventType.DELIVERED) {
364
+ videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushAndroidBackgroundDeliveredIncomingCallCId$ added with callCId: ${call_cid}`);
365
+ pushAndroidBackgroundDeliveredIncomingCallCId$.next(call_cid);
366
+ // background delivered state will be handled by the app with rxjs observers as processing needs to happen only when app is opened
367
+ }
368
+ }
369
+ } else {
370
+ const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
371
+ if (type === notifeeLib.EventType.PRESS) {
372
+ videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`onTapNonRingingCallNotification with callCId: ${call_cid}`);
373
+ pushConfig.onTapNonRingingCallNotification?.(call_cid, data.type);
374
+ }
328
375
  }
329
376
  };
330
377
  //# sourceMappingURL=android.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CallingState","videoLoggerSystem","AppState","Platform","getExpoNotificationsLib","getExpoNotificationsLibNoThrow","getFirebaseMessagingLib","getFirebaseMessagingLibNoThrow","getNotifeeLibThrowIfNotInstalledForPush","pushNonRingingCallData$","pushUnsubscriptionCallbacks","canListenToWS","shouldCallBeClosed","setPushLogoutCallback","StreamVideoRN","getCallingxLib","lastFirebaseToken","token","userId","initAndroidPushToken","client","pushConfig","setUnsubscribeListener","OS","android","pushProviderName","logger","getLogger","setDeviceToken","streamClient","_user","id","anonymous","debug","removeDevice","err","warn","push_provider_name","addDevice","isExpo","expoNotificationsLib","onTapNonRingingCallNotification","subscription","addPushTokenListener","devicePushToken","data","remove","getDevicePushTokenAsync","messaging","unsubscribe","onTokenRefresh","refreshedToken","getToken","firebaseDataHandler","getConfig","push","sender","type","call_cid","callingx","canPostNotifications","createStreamVideoClient","shouldRejectCallWhenBusy","hasRegisteredCall","asForegroundService","callerName","created_by_display_name","hasVideo","video","registerBackgroundTask","_","stopTask","Promise","resolve","finishBackgroundTask","log","undefined","_client","callFromPush","onRingingCall","mustEndCall","endCallReason","endCallWithReason","unsubscribeFunctions","on","event","_canListenToWS","forEach","fn","mustEndCallFromEvent","endCallReasonFromEvent","stateSubscription","state","callingState$","subscribe","callingState","IDLE","LEFT","endCallSubscription","addEventListener","callId","leave","reject","reason","error","appStateSubscription","nextAppState","get","cb","set","displayIncomingCall","notifeeLib","notifee","default","settings","getNotificationSettings","authorizationStatus","callChannel","callNotificationTextGetters","createChannel","channelId","getTitle","getBody","createdUserName","title","body","displayNotification","sound","smallIcon","vibrationPattern","importance","pressAction","launchActivity","timeoutAfter","cid","next","onAndroidNotifeeEvent","detail","notification","notificationId","EventType","PRESS"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CallingState","videoLoggerSystem","AppState","Platform","getExpoNotificationsLib","getExpoNotificationsLibNoThrow","getFirebaseMessagingLib","getFirebaseMessagingLibNoThrow","getIncomingCallForegroundServiceTypes","getNotifeeLibThrowIfNotInstalledForPush","pushAcceptedIncomingCallCId$","pushAndroidBackgroundDeliveredIncomingCallCId$","pushNonRingingCallData$","pushRejectedIncomingCallCId$","pushTappedIncomingCallCId$","pushUnsubscriptionCallbacks","canAddPushWSSubscriptionsRef","clearPushWSEventSubscriptions","processCallFromPushInBackground","shouldCallBeEnded","setPushLogoutCallback","getAndroidDefaultRingtoneUrl","StreamVideoRN","ACCEPT_CALL_ACTION_ID","DECLINE_CALL_ACTION_ID","lastFirebaseToken","token","userId","initAndroidPushToken","client","pushConfig","setUnsubscribeListener","OS","android","pushProviderName","logger","getLogger","setDeviceToken","streamClient","_user","id","anonymous","debug","removeDevice","err","warn","push_provider_name","addDevice","isExpo","expoNotificationsLib","onTapNonRingingCallNotification","subscription","addPushTokenListener","devicePushToken","data","remove","getDevicePushTokenAsync","messaging","incomingCallChannel","unsubscribe","onTokenRefresh","refreshedToken","getToken","firebaseDataHandler","getConfig","push","sender","notifeeLib","notifee","default","settings","getNotificationSettings","authorizationStatus","type","call_cid","created_by_id","receiver_id","video_client","createStreamVideoClient","onRingingCall","shouldCallBeClosed","callToCheck","mustEndCall","canListenToWS","current","currentState","asForegroundService","registerForegroundService","Promise","stopForegroundService","callFromPush","_shouldCallBeClosed","unsubscribeFunctions","on","event","_canListenToWS","forEach","fn","state","callingState$","subscribe","callingState","IDLE","LEFT","get","cb","set","incomingCallNotificationTextGetters","error","sound","createChannel","getTitle","getBody","getAcceptButtonTitle","getDeclineButtonTitle","createdUserName","created_by_display_name","title","body","channelId","displayNotification","smallIcon","importance","foregroundServiceTypes","ongoing","vibrationPattern","loopSound","pressAction","launchActivity","actions","category","AndroidCategory","CALL","fullScreenAction","timeoutAfter","cancelDisplayedNotification","callChannel","callNotificationTextGetters","cid","next","onAndroidNotifeeEvent","isBackground","detail","notification","notificationId","hasObservers","observed","didPressDecline","EventType","ACTION_PRESS","didDismiss","DISMISSED","mustDecline","mustAccept","PRESS","DELIVERED"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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","ignoreList":[]}