@stream-io/video-react-native-sdk 1.30.5 → 1.31.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/android/src/main/AndroidManifest.xml +8 -1
- package/android/src/main/AndroidManifestNew.xml +11 -0
- package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +127 -5
- package/android/src/main/java/com/streamvideo/reactnative/audio/utils/WebRtcAudioUtils.kt +70 -6
- package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +6 -4
- package/android/src/main/java/com/streamvideo/reactnative/keepalive/KeepAliveNotification.kt +83 -0
- package/android/src/main/java/com/streamvideo/reactnative/keepalive/StreamCallKeepAliveHeadlessService.kt +149 -0
- package/android/src/main/java/com/streamvideo/reactnative/screenshare/ScreenAudioCapture.kt +111 -0
- package/dist/commonjs/components/Call/CallControls/ScreenShareToggleButton.js +3 -2
- package/dist/commonjs/components/Call/CallControls/ScreenShareToggleButton.js.map +1 -1
- package/dist/commonjs/hooks/index.js +11 -0
- package/dist/commonjs/hooks/index.js.map +1 -1
- package/dist/commonjs/hooks/push/index.js +0 -2
- package/dist/commonjs/hooks/push/index.js.map +1 -1
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +144 -0
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -0
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +18 -31
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +64 -97
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/commonjs/hooks/useScreenShareAudioMixing.js +126 -0
- package/dist/commonjs/hooks/useScreenShareAudioMixing.js.map +1 -0
- package/dist/commonjs/hooks/useScreenShareButton.js +57 -3
- package/dist/commonjs/hooks/useScreenShareButton.js.map +1 -1
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/modules/ScreenShareAudioManager.js +54 -0
- package/dist/commonjs/modules/ScreenShareAudioManager.js.map +1 -0
- package/dist/commonjs/modules/call-manager/CallManager.js +26 -0
- package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
- package/dist/commonjs/providers/StreamCall/index.js +16 -6
- package/dist/commonjs/providers/StreamCall/index.js.map +1 -1
- package/dist/commonjs/utils/StreamVideoRN/index.js +35 -21
- package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js +68 -0
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js.map +1 -0
- package/dist/commonjs/utils/internal/callingx/callingx.js +150 -0
- package/dist/commonjs/utils/internal/callingx/callingx.js.map +1 -0
- package/dist/commonjs/utils/internal/registerSDKGlobals.js +53 -3
- package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/commonjs/utils/keepCallAliveHeadlessTask.js +48 -0
- package/dist/commonjs/utils/keepCallAliveHeadlessTask.js.map +1 -0
- package/dist/commonjs/utils/push/android.js +135 -202
- package/dist/commonjs/utils/push/android.js.map +1 -1
- package/dist/commonjs/utils/push/internal/ios.js +17 -34
- package/dist/commonjs/utils/push/internal/ios.js.map +1 -1
- package/dist/commonjs/utils/push/internal/rxSubjects.js +1 -45
- package/dist/commonjs/utils/push/internal/rxSubjects.js.map +1 -1
- package/dist/commonjs/utils/push/internal/utils.js +71 -53
- package/dist/commonjs/utils/push/internal/utils.js.map +1 -1
- package/dist/commonjs/utils/push/ios.js.map +1 -1
- package/dist/commonjs/utils/push/libs/callingx.js +75 -0
- package/dist/commonjs/utils/push/libs/callingx.js.map +1 -0
- package/dist/commonjs/utils/push/libs/index.js +8 -19
- package/dist/commonjs/utils/push/libs/index.js.map +1 -1
- package/dist/commonjs/utils/push/libs/notifee/index.js +0 -19
- package/dist/commonjs/utils/push/libs/notifee/index.js.map +1 -1
- package/dist/commonjs/utils/push/setupCallingExpEvents.js +105 -0
- package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +1 -0
- package/dist/commonjs/utils/push/setupIosVoipPushEvents.js +7 -6
- package/dist/commonjs/utils/push/setupIosVoipPushEvents.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/commonjs/version.js.map +1 -1
- package/dist/module/components/Call/CallControls/ScreenShareToggleButton.js +3 -2
- package/dist/module/components/Call/CallControls/ScreenShareToggleButton.js.map +1 -1
- package/dist/module/hooks/index.js +1 -0
- package/dist/module/hooks/index.js.map +1 -1
- package/dist/module/hooks/push/index.js +0 -2
- package/dist/module/hooks/push/index.js.map +1 -1
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +137 -0
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -0
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +18 -31
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +66 -99
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/module/hooks/useScreenShareAudioMixing.js +119 -0
- package/dist/module/hooks/useScreenShareAudioMixing.js.map +1 -0
- package/dist/module/hooks/useScreenShareButton.js +57 -3
- package/dist/module/hooks/useScreenShareButton.js.map +1 -1
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/modules/ScreenShareAudioManager.js +47 -0
- package/dist/module/modules/ScreenShareAudioManager.js.map +1 -0
- package/dist/module/modules/call-manager/CallManager.js +26 -0
- package/dist/module/modules/call-manager/CallManager.js.map +1 -1
- package/dist/module/providers/StreamCall/index.js +16 -6
- package/dist/module/providers/StreamCall/index.js.map +1 -1
- package/dist/module/utils/StreamVideoRN/index.js +35 -21
- package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/module/utils/internal/callingx/audioSessionPromise.js +61 -0
- package/dist/module/utils/internal/callingx/audioSessionPromise.js.map +1 -0
- package/dist/module/utils/internal/callingx/callingx.js +140 -0
- package/dist/module/utils/internal/callingx/callingx.js.map +1 -0
- package/dist/module/utils/internal/registerSDKGlobals.js +53 -3
- package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/module/utils/keepCallAliveHeadlessTask.js +42 -0
- package/dist/module/utils/keepCallAliveHeadlessTask.js.map +1 -0
- package/dist/module/utils/push/android.js +137 -204
- package/dist/module/utils/push/android.js.map +1 -1
- package/dist/module/utils/push/internal/ios.js +17 -34
- package/dist/module/utils/push/internal/ios.js.map +1 -1
- package/dist/module/utils/push/internal/rxSubjects.js +0 -44
- package/dist/module/utils/push/internal/rxSubjects.js.map +1 -1
- package/dist/module/utils/push/internal/utils.js +67 -50
- package/dist/module/utils/push/internal/utils.js.map +1 -1
- package/dist/module/utils/push/ios.js.map +1 -1
- package/dist/module/utils/push/libs/callingx.js +67 -0
- package/dist/module/utils/push/libs/callingx.js.map +1 -0
- package/dist/module/utils/push/libs/index.js +1 -2
- package/dist/module/utils/push/libs/index.js.map +1 -1
- package/dist/module/utils/push/libs/notifee/index.js +0 -18
- package/dist/module/utils/push/libs/notifee/index.js.map +1 -1
- package/dist/module/utils/push/setupCallingExpEvents.js +99 -0
- package/dist/module/utils/push/setupCallingExpEvents.js.map +1 -0
- package/dist/module/utils/push/setupIosVoipPushEvents.js +7 -6
- package/dist/module/utils/push/setupIosVoipPushEvents.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/module/version.js.map +1 -1
- package/dist/typescript/components/Call/CallControls/ScreenShareToggleButton.d.ts +6 -1
- package/dist/typescript/components/Call/CallControls/ScreenShareToggleButton.d.ts.map +1 -1
- package/dist/typescript/hooks/index.d.ts +1 -0
- package/dist/typescript/hooks/index.d.ts.map +1 -1
- package/dist/typescript/hooks/push/index.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts +5 -0
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +1 -0
- package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useScreenShareAudioMixing.d.ts +14 -0
- package/dist/typescript/hooks/useScreenShareAudioMixing.d.ts.map +1 -0
- package/dist/typescript/hooks/useScreenShareButton.d.ts +39 -2
- package/dist/typescript/hooks/useScreenShareButton.d.ts.map +1 -1
- package/dist/typescript/index.d.ts +1 -0
- package/dist/typescript/index.d.ts.map +1 -1
- package/dist/typescript/modules/ScreenShareAudioManager.d.ts +28 -0
- package/dist/typescript/modules/ScreenShareAudioManager.d.ts.map +1 -0
- package/dist/typescript/modules/call-manager/CallManager.d.ts +5 -0
- package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
- package/dist/typescript/providers/StreamCall/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/index.d.ts +22 -2
- package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/types.d.ts +59 -25
- package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts +16 -0
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts.map +1 -0
- package/dist/typescript/utils/internal/callingx/callingx.d.ts +18 -0
- package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +1 -0
- package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
- package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts +10 -0
- package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts.map +1 -0
- package/dist/typescript/utils/push/android.d.ts +1 -2
- package/dist/typescript/utils/push/android.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/rxSubjects.d.ts +0 -33
- package/dist/typescript/utils/push/internal/rxSubjects.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/utils.d.ts +14 -8
- package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
- package/dist/typescript/utils/push/ios.d.ts +1 -2
- package/dist/typescript/utils/push/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/callingx.d.ts +9 -0
- package/dist/typescript/utils/push/libs/callingx.d.ts.map +1 -0
- package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts +16 -2
- package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/index.d.ts +1 -2
- package/dist/typescript/utils/push/libs/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/notifee/index.d.ts +0 -1
- package/dist/typescript/utils/push/libs/notifee/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts +8 -0
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +1 -0
- package/dist/typescript/utils/push/setupIosVoipPushEvents.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/dist/typescript/version.d.ts.map +1 -1
- package/expo-config-plugin/dist/withAndroidManifest.js +1 -33
- package/expo-config-plugin/dist/withAndroidPermissions.js +2 -7
- package/expo-config-plugin/dist/withAppDelegate.js +19 -197
- package/expo-config-plugin/dist/withMainActivity.js +1 -1
- package/expo-config-plugin/dist/withiOSInfoPlist.js +2 -3
- package/ios/StreamInCallManager.m +2 -0
- package/ios/StreamInCallManager.swift +19 -7
- package/ios/StreamVideoReactNative.h +7 -4
- package/ios/StreamVideoReactNative.m +282 -86
- package/package.json +13 -18
- package/src/components/Call/CallControls/ScreenShareToggleButton.tsx +11 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/push/index.ts +0 -2
- package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +189 -0
- package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +21 -34
- package/src/hooks/useAndroidKeepCallAliveEffect.ts +94 -120
- package/src/hooks/useScreenShareAudioMixing.ts +130 -0
- package/src/hooks/useScreenShareButton.ts +87 -2
- package/src/index.ts +1 -0
- package/src/modules/ScreenShareAudioManager.ts +49 -0
- package/src/modules/call-manager/CallManager.ts +36 -0
- package/src/modules/call-manager/native-module.d.ts +7 -0
- package/src/providers/StreamCall/index.tsx +17 -6
- package/src/utils/StreamVideoRN/index.ts +42 -30
- package/src/utils/StreamVideoRN/types.ts +61 -25
- package/src/utils/internal/callingx/audioSessionPromise.ts +65 -0
- package/src/utils/internal/callingx/callingx.ts +194 -0
- package/src/utils/internal/registerSDKGlobals.ts +52 -4
- package/src/utils/keepCallAliveHeadlessTask.ts +54 -0
- package/src/utils/push/android.ts +198 -311
- package/src/utils/push/internal/ios.ts +28 -44
- package/src/utils/push/internal/rxSubjects.ts +0 -61
- package/src/utils/push/internal/utils.ts +108 -64
- package/src/utils/push/ios.ts +1 -6
- package/src/utils/push/libs/callingx.ts +89 -0
- package/src/utils/push/libs/index.ts +1 -2
- package/src/utils/push/libs/notifee/index.ts +0 -27
- package/src/utils/push/setupCallingExpEvents.ts +135 -0
- package/src/utils/push/setupIosVoipPushEvents.ts +11 -7
- package/src/version.ts +1 -1
- package/android/src/main/java/com/streamvideo/reactnative/util/CallAliveServiceChecker.kt +0 -95
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +0 -160
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +0 -1
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js +0 -67
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js.map +0 -1
- package/dist/commonjs/utils/push/libs/callkeep.js +0 -17
- package/dist/commonjs/utils/push/libs/callkeep.js.map +0 -1
- package/dist/commonjs/utils/push/libs/voipPushNotification.js +0 -17
- package/dist/commonjs/utils/push/libs/voipPushNotification.js.map +0 -1
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js +0 -205
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js.map +0 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +0 -153
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +0 -1
- package/dist/module/hooks/push/useProcessPushCallEffect.js +0 -60
- package/dist/module/hooks/push/useProcessPushCallEffect.js.map +0 -1
- package/dist/module/utils/push/libs/callkeep.js +0 -11
- package/dist/module/utils/push/libs/callkeep.js.map +0 -1
- package/dist/module/utils/push/libs/voipPushNotification.js +0 -11
- package/dist/module/utils/push/libs/voipPushNotification.js.map +0 -1
- package/dist/module/utils/push/setupIosCallKeepEvents.js +0 -199
- package/dist/module/utils/push/setupIosCallKeepEvents.js.map +0 -1
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts +0 -5
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts.map +0 -1
- package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts +0 -8
- package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts.map +0 -1
- package/dist/typescript/utils/push/libs/callkeep.d.ts +0 -3
- package/dist/typescript/utils/push/libs/callkeep.d.ts.map +0 -1
- package/dist/typescript/utils/push/libs/voipPushNotification.d.ts +0 -3
- package/dist/typescript/utils/push/libs/voipPushNotification.d.ts.map +0 -1
- package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts +0 -6
- package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts.map +0 -1
- package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +0 -235
- package/src/hooks/push/useProcessPushCallEffect.ts +0 -108
- package/src/utils/push/libs/callkeep.ts +0 -16
- package/src/utils/push/libs/voipPushNotification.ts +0 -17
- package/src/utils/push/setupIosCallKeepEvents.ts +0 -252
|
@@ -5,20 +5,70 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.registerSDKGlobals = registerSDKGlobals;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
+
var _callingx = require("../push/libs/callingx");
|
|
9
|
+
var _callingx2 = require("./callingx/callingx");
|
|
8
10
|
const StreamInCallManagerNativeModule = _reactNative.NativeModules.StreamInCallManager;
|
|
9
11
|
const StreamVideoReactNativeModule = _reactNative.NativeModules.StreamVideoReactNative;
|
|
12
|
+
const CallingxModule = (0, _callingx.getCallingxLibIfAvailable)();
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Checks if StreamInCallManager should be bypassed because CallKit is handling
|
|
16
|
+
* the audio session via CallingX.
|
|
17
|
+
*
|
|
18
|
+
* On iOS, when CallingX is set up and has a registered call, the audio session
|
|
19
|
+
* is managed by CallKit through CallingxImpl.swift.
|
|
20
|
+
* In this case, StreamInCallManager should not run to avoid conflicting audio
|
|
21
|
+
* session configurations.
|
|
22
|
+
*/
|
|
23
|
+
const shouldBypassForCallKit = ({
|
|
24
|
+
isRingingTypeCall
|
|
25
|
+
}) => {
|
|
26
|
+
if (_reactNative.Platform.OS !== 'ios') {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
if (!CallingxModule) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
const bypass = CallingxModule.isSetup && (isRingingTypeCall || CallingxModule.isOngoingCallsEnabled);
|
|
33
|
+
return bypass;
|
|
34
|
+
};
|
|
10
35
|
const streamRNVideoSDKGlobals = {
|
|
36
|
+
callingX: {
|
|
37
|
+
joinCall: _callingx2.joinCallingxCall,
|
|
38
|
+
endCall: _callingx2.endCallingxCall,
|
|
39
|
+
registerOutgoingCall: _callingx2.registerOutgoingCall
|
|
40
|
+
},
|
|
11
41
|
callManager: {
|
|
12
42
|
setup: ({
|
|
13
|
-
defaultDevice
|
|
43
|
+
defaultDevice,
|
|
44
|
+
isRingingTypeCall
|
|
14
45
|
}) => {
|
|
46
|
+
if (shouldBypassForCallKit({
|
|
47
|
+
isRingingTypeCall
|
|
48
|
+
})) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
15
51
|
StreamInCallManagerNativeModule.setDefaultAudioDeviceEndpointType(defaultDevice);
|
|
16
52
|
StreamInCallManagerNativeModule.setup();
|
|
17
53
|
},
|
|
18
|
-
start: (
|
|
54
|
+
start: ({
|
|
55
|
+
isRingingTypeCall
|
|
56
|
+
}) => {
|
|
57
|
+
if (shouldBypassForCallKit({
|
|
58
|
+
isRingingTypeCall
|
|
59
|
+
})) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
19
62
|
StreamInCallManagerNativeModule.start();
|
|
20
63
|
},
|
|
21
|
-
stop: (
|
|
64
|
+
stop: ({
|
|
65
|
+
isRingingTypeCall
|
|
66
|
+
}) => {
|
|
67
|
+
if (shouldBypassForCallKit({
|
|
68
|
+
isRingingTypeCall
|
|
69
|
+
})) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
22
72
|
StreamInCallManagerNativeModule.stop();
|
|
23
73
|
}
|
|
24
74
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","streamRNVideoSDKGlobals","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_callingx","_callingx2","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","getCallingxLibIfAvailable","shouldBypassForCallKit","isRingingTypeCall","Platform","OS","bypass","isSetup","isOngoingCallsEnabled","streamRNVideoSDKGlobals","callingX","joinCall","joinCallingxCall","endCall","endCallingxCall","registerOutgoingCall","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","nativeAndroidPermission","PermissionsAndroid","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAMA,MAAMG,+BAA+B,GAAGC,0BAAa,CAACC,mBAAmB;AACzE,MAAMC,4BAA4B,GAAGF,0BAAa,CAACG,sBAElD;AAED,MAAMC,cAAc,GAAG,IAAAC,mCAAyB,EAAC,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAGA,CAAC;EAC9BC;AAGF,CAAC,KAAc;EACb,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO,KAAK;EACd;EACA,IAAI,CAACL,cAAc,EAAE;IACnB,OAAO,KAAK;EACd;EACA,MAAMM,MAAM,GACVN,cAAc,CAACO,OAAO,KACrBJ,iBAAiB,IAAIH,cAAc,CAACQ,qBAAqB,CAAC;EAC7D,OAAOF,MAAM;AACf,CAAC;AAED,MAAMG,uBAAgD,GAAG;EACvDC,QAAQ,EAAE;IACRC,QAAQ,EAAEC,2BAAgB;IAC1BC,OAAO,EAAEC,0BAAe;IACxBC,oBAAoB,EAAEA;EACxB,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC,aAAa;MAAEf;IAAkB,CAAC,KAAK;MAC/C,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAACwB,iCAAiC,CAC/DD,aACF,CAAC;MACDvB,+BAA+B,CAACsB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAC;MAAEjB;IAAkB,CAAC,KAAK;MAChC,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAACyB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAC;MAAElB;IAAkB,CAAC,KAAK;MAC/B,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAAC0B,IAAI,CAAC,CAAC;IACxC;EACF,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAE,MAAOC,UAAU,IAAK;MAC3B,IAAIpB,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMoB,uBAAuB,GAC3BD,UAAU,KAAK,QAAQ,GACnBE,+BAAkB,CAACC,WAAW,CAACC,MAAM,GACrCF,+BAAkB,CAACC,WAAW,CAACE,YAAY;QACjD,OAAOH,+BAAkB,CAACH,KAAK,CAACE,uBAAuB,CAAC;MAC1D;;MAEA;MACA,OAAOK,OAAO,CACZ,MAAMhC,4BAA4B,CAACiC,eAAe,GAAGP,UAAU,CACjE,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AACA;AACO,SAASQ,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGzB,uBAAuB;EACnD;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.keepCallAliveCallRef = exports.KEEP_CALL_ALIVE_HEADLESS_TASK_NAME = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _videoClient = require("@stream-io/video-client");
|
|
9
|
+
var _StreamVideoRN = require("./StreamVideoRN");
|
|
10
|
+
const KEEP_CALL_ALIVE_HEADLESS_TASK_NAME = exports.KEEP_CALL_ALIVE_HEADLESS_TASK_NAME = 'StreamVideoKeepCallAlive';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The keep-alive headless task needs access to the active `Call` instance.
|
|
14
|
+
* The keep-alive hook will set this reference before starting the native service.
|
|
15
|
+
*/
|
|
16
|
+
const keepCallAliveCallRef = exports.keepCallAliveCallRef = {
|
|
17
|
+
current: undefined
|
|
18
|
+
};
|
|
19
|
+
function registerKeepCallAliveHeadlessTaskOnce() {
|
|
20
|
+
if (_reactNative.Platform.OS !== 'android') return;
|
|
21
|
+
_reactNative.AppRegistry.registerHeadlessTask(KEEP_CALL_ALIVE_HEADLESS_TASK_NAME, () => async data => {
|
|
22
|
+
const logger = _videoClient.videoLoggerSystem.getLogger('KEEP_CALL_ALIVE_HEADLESS_TASK');
|
|
23
|
+
const callCid = data?.callCid;
|
|
24
|
+
const call = keepCallAliveCallRef.current;
|
|
25
|
+
if (!call) {
|
|
26
|
+
logger.warn('No active call instance available for keep-alive task; skipping.', {
|
|
27
|
+
callCid
|
|
28
|
+
});
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (callCid && call.cid && call.cid !== callCid) {
|
|
32
|
+
logger.warn('Keep-alive task callCid does not match active call; skipping.', {
|
|
33
|
+
callCid,
|
|
34
|
+
activeCallCid: call.cid
|
|
35
|
+
});
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const config = _StreamVideoRN.StreamVideoRN.getConfig();
|
|
39
|
+
const taskToRun = config.foregroundService.android.taskToRun;
|
|
40
|
+
try {
|
|
41
|
+
await taskToRun(call);
|
|
42
|
+
} catch (e) {
|
|
43
|
+
logger.error('Keep-alive headless task failed', e);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
registerKeepCallAliveHeadlessTaskOnce();
|
|
48
|
+
//# sourceMappingURL=keepCallAliveHeadlessTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_videoClient","_StreamVideoRN","KEEP_CALL_ALIVE_HEADLESS_TASK_NAME","exports","keepCallAliveCallRef","current","undefined","registerKeepCallAliveHeadlessTaskOnce","Platform","OS","AppRegistry","registerHeadlessTask","data","logger","videoLoggerSystem","getLogger","callCid","call","warn","cid","activeCallCid","config","StreamVideoRN","getConfig","taskToRun","foregroundService","android","e","error"],"sourceRoot":"../../../src","sources":["utils/keepCallAliveHeadlessTask.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEO,MAAMG,kCAAkC,GAAAC,OAAA,CAAAD,kCAAA,GAAG,0BAA0B;;AAE5E;AACA;AACA;AACA;AACO,MAAME,oBAAmD,GAAAD,OAAA,CAAAC,oBAAA,GAAG;EACjEC,OAAO,EAAEC;AACX,CAAC;AAED,SAASC,qCAAqCA,CAAA,EAAG;EAC/C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;EAE/BC,wBAAW,CAACC,oBAAoB,CAC9BT,kCAAkC,EAClC,MAAM,MAAOU,IAAsC,IAAK;IACtD,MAAMC,MAAM,GAAGC,8BAAiB,CAACC,SAAS,CACxC,+BACF,CAAC;IACD,MAAMC,OAAO,GAAGJ,IAAI,EAAEI,OAAO;IAE7B,MAAMC,IAAI,GAAGb,oBAAoB,CAACC,OAAO;IACzC,IAAI,CAACY,IAAI,EAAE;MACTJ,MAAM,CAACK,IAAI,CACT,kEAAkE,EAClE;QAAEF;MAAQ,CACZ,CAAC;MACD;IACF;IACA,IAAIA,OAAO,IAAIC,IAAI,CAACE,GAAG,IAAIF,IAAI,CAACE,GAAG,KAAKH,OAAO,EAAE;MAC/CH,MAAM,CAACK,IAAI,CACT,+DAA+D,EAC/D;QAAEF,OAAO;QAAEI,aAAa,EAAEH,IAAI,CAACE;MAAI,CACrC,CAAC;MACD;IACF;IAEA,MAAME,MAAM,GAAGC,4BAAa,CAACC,SAAS,CAAC,CAAC;IACxC,MAAMC,SAAS,GAAGH,MAAM,CAACI,iBAAiB,CAACC,OAAO,CAACF,SAAS;IAC5D,IAAI;MACF,MAAMA,SAAS,CAACP,IAAI,CAAC;IACvB,CAAC,CAAC,OAAOU,CAAC,EAAE;MACVd,MAAM,CAACe,KAAK,CAAC,iCAAiC,EAAED,CAAC,CAAC;IACpD;EACF,CACF,CAAC;AACH;AAEApB,qCAAqC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -13,10 +13,8 @@ var _rxSubjects = require("./internal/rxSubjects");
|
|
|
13
13
|
var _constants = require("./internal/constants");
|
|
14
14
|
var _utils = require("./internal/utils");
|
|
15
15
|
var _pushLogoutCallback = require("../internal/pushLogoutCallback");
|
|
16
|
-
var _getAndroidDefaultRingtoneUrl = require("../getAndroidDefaultRingtoneUrl");
|
|
17
16
|
var _StreamVideoRN = require("../StreamVideoRN");
|
|
18
|
-
|
|
19
|
-
const DECLINE_CALL_ACTION_ID = 'decline';
|
|
17
|
+
var _callingx = require("./libs/callingx");
|
|
20
18
|
let lastFirebaseToken = {
|
|
21
19
|
token: '',
|
|
22
20
|
userId: ''
|
|
@@ -71,8 +69,7 @@ async function initAndroidPushToken(client, pushConfig, setUnsubscribeListener)
|
|
|
71
69
|
await setDeviceToken(token);
|
|
72
70
|
}
|
|
73
71
|
}
|
|
74
|
-
|
|
75
|
-
const messaging = pushConfig.isExpo && !pushConfig.android.incomingCallChannel ? (0, _libs.getFirebaseMessagingLibNoThrow)(true) : (0, _libs.getFirebaseMessagingLib)();
|
|
72
|
+
const messaging = pushConfig.isExpo ? (0, _libs.getFirebaseMessagingLibNoThrow)(true) : (0, _libs.getFirebaseMessagingLib)();
|
|
76
73
|
if (messaging) {
|
|
77
74
|
logger.debug(`setting firebase token listeners`);
|
|
78
75
|
const unsubscribe = messaging().onTokenRefresh(refreshedToken => setDeviceToken(refreshedToken));
|
|
@@ -86,8 +83,8 @@ async function initAndroidPushToken(client, pushConfig, setUnsubscribeListener)
|
|
|
86
83
|
* Creates notification from the push message data.
|
|
87
84
|
* For Ringing and Non-Ringing calls.
|
|
88
85
|
*/
|
|
86
|
+
|
|
89
87
|
const firebaseDataHandler = async data => {
|
|
90
|
-
if (_reactNative.Platform.OS !== 'android') return;
|
|
91
88
|
/* Example data from firebase
|
|
92
89
|
"message": {
|
|
93
90
|
"data": {
|
|
@@ -103,174 +100,155 @@ const firebaseDataHandler = async data => {
|
|
|
103
100
|
// other stuff
|
|
104
101
|
}
|
|
105
102
|
*/
|
|
103
|
+
if (_reactNative.Platform.OS !== 'android') return;
|
|
104
|
+
const logger = _videoClient.videoLoggerSystem.getLogger('firebaseDataHandler');
|
|
106
105
|
const pushConfig = _StreamVideoRN.StreamVideoRN.getConfig().push;
|
|
107
106
|
if (!pushConfig || !data || data.sender !== 'stream.video') {
|
|
108
107
|
return;
|
|
109
108
|
}
|
|
110
|
-
const notifeeLib = (0, _libs.getNotifeeLibThrowIfNotInstalledForPush)();
|
|
111
|
-
const notifee = notifeeLib.default;
|
|
112
|
-
const settings = await notifee.getNotificationSettings();
|
|
113
|
-
if (settings.authorizationStatus !== 1) {
|
|
114
|
-
const logger = _videoClient.videoLoggerSystem.getLogger('firebaseDataHandler');
|
|
115
|
-
logger.debug(`Notification permission not granted, unable to post ${data.type} notifications`);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
109
|
if (data.type === 'call.ring') {
|
|
119
110
|
const call_cid = data.call_cid;
|
|
120
|
-
const
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return mustEndCall;
|
|
129
|
-
};
|
|
130
|
-
const canListenToWS = () => _utils.canAddPushWSSubscriptionsRef.current && _reactNative.AppState.currentState !== 'active';
|
|
131
|
-
const asForegroundService = canListenToWS();
|
|
111
|
+
const callingx = (0, _callingx.getCallingxLib)();
|
|
112
|
+
const client = await pushConfig.createStreamVideoClient();
|
|
113
|
+
if (!client) {
|
|
114
|
+
logger.debug(`video client not found, skipping the call.ring notification`);
|
|
115
|
+
await callingx.stopService();
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const asForegroundService = (0, _utils.canListenToWS)();
|
|
132
119
|
if (asForegroundService) {
|
|
133
120
|
// Listen to call events from WS through fg service
|
|
134
121
|
// note: this will replace the current empty fg service runner
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
122
|
+
//we need to start service (e.g. by calling display incoming call) and than launch bg task, consider making those steps independent
|
|
123
|
+
await callingx.startBackgroundTask((_, stopTask) => {
|
|
124
|
+
return new Promise(resolve => {
|
|
125
|
+
const finishBackgroundTask = () => {
|
|
126
|
+
callingx.log(`Finishing background task for callCid: ${call_cid}`, 'debug');
|
|
127
|
+
resolve(undefined);
|
|
128
|
+
stopTask();
|
|
129
|
+
};
|
|
130
|
+
(async () => {
|
|
131
|
+
try {
|
|
132
|
+
const _client = await pushConfig.createStreamVideoClient();
|
|
133
|
+
if (!_client) {
|
|
134
|
+
logger.debug(`Closing fg service as there is no client to create from push config`);
|
|
135
|
+
finishBackgroundTask();
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const callFromPush = await _client.onRingingCall(call_cid);
|
|
139
|
+
const {
|
|
140
|
+
mustEndCall,
|
|
141
|
+
endCallReason
|
|
142
|
+
} = (0, _utils.shouldCallBeClosed)(callFromPush, data);
|
|
143
|
+
if (mustEndCall) {
|
|
144
|
+
logger.debug(`Closing fg service callCid: ${call_cid} endCallReason: ${endCallReason}`);
|
|
145
|
+
callingx.log(`Ending call with callCid: ${call_cid} endCallReason: ${endCallReason}`, 'debug');
|
|
146
|
+
callingx.endCallWithReason(call_cid, endCallReason);
|
|
147
|
+
resolve(undefined);
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
const unsubscribeFunctions = [];
|
|
151
|
+
// check if service needs to be closed if accept/decline event was done on another device
|
|
152
|
+
const unsubscribe = callFromPush.on('all', event => {
|
|
153
|
+
const _canListenToWS = (0, _utils.canListenToWS)();
|
|
154
|
+
if (!_canListenToWS) {
|
|
155
|
+
logger.debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, {
|
|
156
|
+
event
|
|
157
|
+
});
|
|
158
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
159
|
+
finishBackgroundTask();
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const {
|
|
163
|
+
mustEndCall: mustEndCallFromEvent,
|
|
164
|
+
endCallReason: endCallReasonFromEvent
|
|
165
|
+
} = (0, _utils.shouldCallBeClosed)(callFromPush, data);
|
|
166
|
+
if (mustEndCallFromEvent) {
|
|
167
|
+
logger.debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS} shouldCallBeClosed`, {
|
|
168
|
+
event
|
|
169
|
+
});
|
|
170
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
171
|
+
callingx.endCallWithReason(call_cid, endCallReasonFromEvent);
|
|
172
|
+
resolve(undefined);
|
|
173
|
+
}
|
|
157
174
|
});
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
175
|
+
|
|
176
|
+
// check if service needs to be closed if call was left
|
|
177
|
+
const stateSubscription = callFromPush.state.callingState$.subscribe(callingState => {
|
|
178
|
+
if (callingState === _videoClient.CallingState.IDLE || callingState === _videoClient.CallingState.LEFT) {
|
|
179
|
+
logger.debug(`Closing fg service from callingState callCid: ${call_cid} callingState: ${callingState}`);
|
|
180
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
181
|
+
callingx.log(`Ending call with callCid: ${call_cid} callingState: ${callingState}`, 'debug');
|
|
182
|
+
resolve(undefined);
|
|
183
|
+
}
|
|
166
184
|
});
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
185
|
+
const endCallSubscription = callingx.addEventListener('endCall', async ({
|
|
186
|
+
callId
|
|
187
|
+
}) => {
|
|
188
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
189
|
+
try {
|
|
190
|
+
await callFromPush.leave({
|
|
191
|
+
reject: callFromPush.state.callingState === _videoClient.CallingState.RINGING,
|
|
192
|
+
reason: 'decline'
|
|
193
|
+
});
|
|
194
|
+
} catch (error) {
|
|
195
|
+
logger.error(`Failed to leave call with callCid: ${call_cid} error: ${error}`);
|
|
196
|
+
} finally {
|
|
197
|
+
callingx.log(`Ending call with callCid: ${call_cid} callId: ${callId}`, 'debug');
|
|
198
|
+
resolve(undefined);
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
//stop background task when app comes to foreground
|
|
203
|
+
const appStateSubscription = _reactNative.AppState.addEventListener('change', nextAppState => {
|
|
204
|
+
const _canListenToWS = (0, _utils.canListenToWS)();
|
|
205
|
+
callingx.log(`AppState changed to: ${nextAppState} for callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, 'debug');
|
|
206
|
+
if (!_canListenToWS) {
|
|
207
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
208
|
+
finishBackgroundTask();
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
unsubscribeFunctions.push(unsubscribe);
|
|
213
|
+
unsubscribeFunctions.push(() => stateSubscription.unsubscribe());
|
|
214
|
+
unsubscribeFunctions.push(() => endCallSubscription.remove());
|
|
215
|
+
unsubscribeFunctions.push(() => appStateSubscription.remove());
|
|
216
|
+
_constants.pushUnsubscriptionCallbacks.get(call_cid)?.forEach(cb => cb());
|
|
217
|
+
_constants.pushUnsubscriptionCallbacks.set(call_cid, unsubscribeFunctions);
|
|
218
|
+
} catch (error) {
|
|
219
|
+
callingx.log(`Failed to start background task with callCid: ${call_cid} error: ${error}`, 'error');
|
|
220
|
+
finishBackgroundTask();
|
|
177
221
|
}
|
|
178
|
-
});
|
|
179
|
-
unsubscribeFunctions.push(unsubscribe);
|
|
180
|
-
unsubscribeFunctions.push(() => subscription.unsubscribe());
|
|
181
|
-
_constants.pushUnsubscriptionCallbacks.get(call_cid)?.forEach(cb => cb());
|
|
182
|
-
_constants.pushUnsubscriptionCallbacks.set(call_cid, unsubscribeFunctions);
|
|
222
|
+
})();
|
|
183
223
|
});
|
|
184
224
|
});
|
|
185
225
|
}
|
|
186
|
-
const incomingCallChannel = pushConfig.android.incomingCallChannel;
|
|
187
|
-
const incomingCallNotificationTextGetters = pushConfig.android.incomingCallNotificationTextGetters;
|
|
188
|
-
if (!incomingCallChannel || !incomingCallNotificationTextGetters) {
|
|
189
|
-
const logger = _videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler');
|
|
190
|
-
logger.error("Can't show incoming call notification as either or both incomingCallChannel and incomingCallNotificationTextGetters were not provided");
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
/*
|
|
194
|
-
* Sound has to be set on channel level for android 8 and above and cant be updated later after creation!
|
|
195
|
-
* For android 7 and below, sound should be set on notification level
|
|
196
|
-
*/
|
|
197
|
-
// set default ringtone if not provided
|
|
198
|
-
if (!incomingCallChannel.sound) {
|
|
199
|
-
incomingCallChannel.sound = await (0, _getAndroidDefaultRingtoneUrl.getAndroidDefaultRingtoneUrl)();
|
|
200
|
-
}
|
|
201
|
-
await notifee.createChannel(incomingCallChannel);
|
|
202
|
-
const {
|
|
203
|
-
getTitle,
|
|
204
|
-
getBody,
|
|
205
|
-
getAcceptButtonTitle,
|
|
206
|
-
getDeclineButtonTitle
|
|
207
|
-
} = incomingCallNotificationTextGetters;
|
|
208
|
-
const createdUserName = data.created_by_display_name;
|
|
209
|
-
const title = getTitle(createdUserName);
|
|
210
|
-
const body = getBody(createdUserName);
|
|
211
|
-
_videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Displaying incoming call notification with callCid: ${call_cid} title: ${title} body: ${body} asForegroundService: ${asForegroundService}`);
|
|
212
|
-
const channelId = incomingCallChannel.id;
|
|
213
|
-
await notifee.displayNotification({
|
|
214
|
-
id: call_cid,
|
|
215
|
-
title: getTitle(createdUserName),
|
|
216
|
-
body: getBody(createdUserName),
|
|
217
|
-
data,
|
|
218
|
-
android: {
|
|
219
|
-
channelId,
|
|
220
|
-
smallIcon: pushConfig.android.smallIcon,
|
|
221
|
-
importance: 4,
|
|
222
|
-
// high importance
|
|
223
|
-
foregroundServiceTypes: (0, _libs.getIncomingCallForegroundServiceTypes)(),
|
|
224
|
-
asForegroundService,
|
|
225
|
-
ongoing: true,
|
|
226
|
-
sound: incomingCallChannel.sound,
|
|
227
|
-
vibrationPattern: incomingCallChannel.vibrationPattern,
|
|
228
|
-
loopSound: true,
|
|
229
|
-
pressAction: {
|
|
230
|
-
id: 'default',
|
|
231
|
-
launchActivity: 'default' // open the app when the notification is pressed
|
|
232
|
-
},
|
|
233
|
-
actions: [{
|
|
234
|
-
title: getDeclineButtonTitle?.() ?? 'Decline',
|
|
235
|
-
pressAction: {
|
|
236
|
-
id: DECLINE_CALL_ACTION_ID
|
|
237
|
-
}
|
|
238
|
-
}, {
|
|
239
|
-
title: getAcceptButtonTitle?.() ?? 'Accept',
|
|
240
|
-
pressAction: {
|
|
241
|
-
id: ACCEPT_CALL_ACTION_ID,
|
|
242
|
-
launchActivity: 'default' // open the app when the notification is pressed
|
|
243
|
-
}
|
|
244
|
-
}],
|
|
245
|
-
category: notifeeLib.AndroidCategory.CALL,
|
|
246
|
-
fullScreenAction: {
|
|
247
|
-
id: 'stream_ringing_incoming_call'
|
|
248
|
-
},
|
|
249
|
-
timeoutAfter: 60000 // 60 seconds, after which the notification will be dismissed automatically
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
226
|
if (asForegroundService) {
|
|
253
227
|
// no need to check if call has be closed as that will be handled by the fg service
|
|
254
228
|
return;
|
|
255
229
|
}
|
|
256
|
-
|
|
257
|
-
// check if call needs to be closed if accept/decline event was done
|
|
258
|
-
// before the notification was shown
|
|
259
|
-
const client = await pushConfig.createStreamVideoClient();
|
|
260
|
-
if (!client) {
|
|
261
|
-
return;
|
|
262
|
-
}
|
|
263
230
|
const callFromPush = await client.onRingingCall(call_cid);
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
231
|
+
const {
|
|
232
|
+
mustEndCall,
|
|
233
|
+
endCallReason
|
|
234
|
+
} = (0, _utils.shouldCallBeClosed)(callFromPush, data);
|
|
235
|
+
if (mustEndCall) {
|
|
236
|
+
logger.debug(`Removing incoming call notification immediately with callCid: ${call_cid} as it should be closed`);
|
|
237
|
+
callingx.endCallWithReason(call_cid, endCallReason);
|
|
267
238
|
}
|
|
268
239
|
} else {
|
|
240
|
+
const notifeeLib = (0, _libs.getNotifeeLibThrowIfNotInstalledForPush)();
|
|
241
|
+
const notifee = notifeeLib.default;
|
|
242
|
+
const settings = await notifee.getNotificationSettings();
|
|
243
|
+
if (settings.authorizationStatus !== 1) {
|
|
244
|
+
logger.debug(`Notification permission not granted, unable to post ${data.type} notifications`);
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
|
|
269
248
|
// the other types are call.live_started and call.notification
|
|
270
249
|
const callChannel = pushConfig.android.callChannel;
|
|
271
250
|
const callNotificationTextGetters = pushConfig.android.callNotificationTextGetters;
|
|
272
251
|
if (!callChannel || !callNotificationTextGetters) {
|
|
273
|
-
const logger = _videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler');
|
|
274
252
|
logger.debug("Can't show call notification as either or both callChannel and callNotificationTextGetters is not provided");
|
|
275
253
|
return;
|
|
276
254
|
}
|
|
@@ -285,10 +263,10 @@ const firebaseDataHandler = async data => {
|
|
|
285
263
|
const type = data.type;
|
|
286
264
|
const title = getTitle(type, createdUserName);
|
|
287
265
|
const body = getBody(type, createdUserName);
|
|
288
|
-
|
|
266
|
+
logger.debug(`Displaying NonRingingPushEvent ${type} notification with title: ${title} body: ${body}`);
|
|
289
267
|
await notifee.displayNotification({
|
|
290
|
-
title
|
|
291
|
-
body
|
|
268
|
+
title,
|
|
269
|
+
body,
|
|
292
270
|
data,
|
|
293
271
|
android: {
|
|
294
272
|
sound: callChannel.sound,
|
|
@@ -313,8 +291,7 @@ const firebaseDataHandler = async data => {
|
|
|
313
291
|
};
|
|
314
292
|
exports.firebaseDataHandler = firebaseDataHandler;
|
|
315
293
|
const onAndroidNotifeeEvent = async ({
|
|
316
|
-
event
|
|
317
|
-
isBackground
|
|
294
|
+
event
|
|
318
295
|
}) => {
|
|
319
296
|
if (_reactNative.Platform.OS !== 'android') return;
|
|
320
297
|
const {
|
|
@@ -322,8 +299,7 @@ const onAndroidNotifeeEvent = async ({
|
|
|
322
299
|
detail
|
|
323
300
|
} = event;
|
|
324
301
|
const {
|
|
325
|
-
notification
|
|
326
|
-
pressAction
|
|
302
|
+
notification
|
|
327
303
|
} = detail;
|
|
328
304
|
const notificationId = notification?.id;
|
|
329
305
|
const data = notification?.data;
|
|
@@ -334,53 +310,10 @@ const onAndroidNotifeeEvent = async ({
|
|
|
334
310
|
|
|
335
311
|
// we can safely cast to string because the data is from "stream.video"
|
|
336
312
|
const call_cid = data.call_cid;
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
const notifee = notifeeLib.default;
|
|
342
|
-
// Check if we need to decline the call
|
|
343
|
-
const didPressDecline = type === notifeeLib.EventType.ACTION_PRESS && pressAction?.id === DECLINE_CALL_ACTION_ID;
|
|
344
|
-
const didDismiss = type === notifeeLib.EventType.DISMISSED;
|
|
345
|
-
const mustDecline = didPressDecline || didDismiss;
|
|
346
|
-
// Check if we need to accept the call
|
|
347
|
-
const mustAccept = type === notifeeLib.EventType.ACTION_PRESS && pressAction?.id === ACCEPT_CALL_ACTION_ID;
|
|
348
|
-
if (mustAccept || mustDecline || type === notifeeLib.EventType.ACTION_PRESS) {
|
|
349
|
-
_videoClient.videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`clearPushWSEventSubscriptions for callCId: ${call_cid} mustAccept: ${mustAccept} mustDecline: ${mustDecline}`);
|
|
350
|
-
(0, _utils.clearPushWSEventSubscriptions)(call_cid);
|
|
351
|
-
notifee.stopForegroundService();
|
|
352
|
-
}
|
|
353
|
-
if (mustAccept) {
|
|
354
|
-
_videoClient.videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushAcceptedIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
355
|
-
_rxSubjects.pushAcceptedIncomingCallCId$.next(call_cid);
|
|
356
|
-
// NOTE: accept will be handled by the app with rxjs observers as the app will go to foreground always
|
|
357
|
-
} else if (mustDecline) {
|
|
358
|
-
_videoClient.videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushRejectedIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
359
|
-
_rxSubjects.pushRejectedIncomingCallCId$.next(call_cid);
|
|
360
|
-
if (hasObservers) {
|
|
361
|
-
// if we had observers we can return here as the observers will handle the call as the app is in the foreground state
|
|
362
|
-
_videoClient.videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`Skipped processCallFromPushInBackground for Declining call with callCId: ${call_cid} as the app is in the foreground state`);
|
|
363
|
-
return;
|
|
364
|
-
}
|
|
365
|
-
_videoClient.videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`start processCallFromPushInBackground - Declining call with callCId: ${call_cid}`);
|
|
366
|
-
await (0, _utils.processCallFromPushInBackground)(pushConfig, call_cid, 'decline');
|
|
367
|
-
} else {
|
|
368
|
-
if (type === notifeeLib.EventType.PRESS) {
|
|
369
|
-
_videoClient.videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushTappedIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
370
|
-
_rxSubjects.pushTappedIncomingCallCId$.next(call_cid);
|
|
371
|
-
// pressed state will be handled by the app with rxjs observers as the app will go to foreground always
|
|
372
|
-
} else if (isBackground && type === notifeeLib.EventType.DELIVERED) {
|
|
373
|
-
_videoClient.videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushAndroidBackgroundDeliveredIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
374
|
-
_rxSubjects.pushAndroidBackgroundDeliveredIncomingCallCId$.next(call_cid);
|
|
375
|
-
// background delivered state will be handled by the app with rxjs observers as processing needs to happen only when app is opened
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
} else {
|
|
379
|
-
const notifeeLib = (0, _libs.getNotifeeLibThrowIfNotInstalledForPush)();
|
|
380
|
-
if (type === notifeeLib.EventType.PRESS) {
|
|
381
|
-
_videoClient.videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`onTapNonRingingCallNotification with callCId: ${call_cid}`);
|
|
382
|
-
pushConfig.onTapNonRingingCallNotification?.(call_cid, data.type);
|
|
383
|
-
}
|
|
313
|
+
const notifeeLib = (0, _libs.getNotifeeLibThrowIfNotInstalledForPush)();
|
|
314
|
+
if (type === notifeeLib.EventType.PRESS) {
|
|
315
|
+
_videoClient.videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`onTapNonRingingCallNotification with callCId: ${call_cid}`);
|
|
316
|
+
pushConfig.onTapNonRingingCallNotification?.(call_cid, data.type);
|
|
384
317
|
}
|
|
385
318
|
};
|
|
386
319
|
exports.onAndroidNotifeeEvent = onAndroidNotifeeEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_videoClient","require","_reactNative","_libs","_rxSubjects","_constants","_utils","_pushLogoutCallback","_getAndroidDefaultRingtoneUrl","_StreamVideoRN","ACCEPT_CALL_ACTION_ID","DECLINE_CALL_ACTION_ID","lastFirebaseToken","token","userId","initAndroidPushToken","client","pushConfig","setUnsubscribeListener","Platform","OS","android","pushProviderName","logger","videoLoggerSystem","getLogger","setDeviceToken","streamClient","_user","id","anonymous","debug","setPushLogoutCallback","removeDevice","err","warn","push_provider_name","addDevice","isExpo","expoNotificationsLib","onTapNonRingingCallNotification","getExpoNotificationsLib","getExpoNotificationsLibNoThrow","subscription","addPushTokenListener","devicePushToken","data","remove","getDevicePushTokenAsync","messaging","incomingCallChannel","getFirebaseMessagingLibNoThrow","getFirebaseMessagingLib","unsubscribe","onTokenRefresh","refreshedToken","getToken","firebaseDataHandler","StreamVideoRN","getConfig","push","sender","notifeeLib","getNotifeeLibThrowIfNotInstalledForPush","notifee","default","settings","getNotificationSettings","authorizationStatus","type","call_cid","created_by_id","receiver_id","video_client","createStreamVideoClient","onRingingCall","shouldCallBeClosed","callToCheck","mustEndCall","shouldCallBeEnded","canListenToWS","canAddPushWSSubscriptionsRef","current","AppState","currentState","asForegroundService","registerForegroundService","Promise","stopForegroundService","callFromPush","_shouldCallBeClosed","unsubscribeFunctions","on","event","_canListenToWS","forEach","fn","state","callingState$","subscribe","callingState","CallingState","IDLE","LEFT","pushUnsubscriptionCallbacks","get","cb","set","incomingCallNotificationTextGetters","error","sound","getAndroidDefaultRingtoneUrl","createChannel","getTitle","getBody","getAcceptButtonTitle","getDeclineButtonTitle","createdUserName","created_by_display_name","title","body","channelId","displayNotification","smallIcon","importance","foregroundServiceTypes","getIncomingCallForegroundServiceTypes","ongoing","vibrationPattern","loopSound","pressAction","launchActivity","actions","category","AndroidCategory","CALL","fullScreenAction","timeoutAfter","cancelDisplayedNotification","callChannel","callNotificationTextGetters","cid","pushNonRingingCallData$","next","exports","onAndroidNotifeeEvent","isBackground","detail","notification","notificationId","hasObservers","pushAcceptedIncomingCallCId$","observed","pushRejectedIncomingCallCId$","didPressDecline","EventType","ACTION_PRESS","didDismiss","DISMISSED","mustDecline","mustAccept","clearPushWSEventSubscriptions","processCallFromPushInBackground","PRESS","pushTappedIncomingCallCId$","DELIVERED","pushAndroidBackgroundDeliveredIncomingCallCId$"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_videoClient","require","_reactNative","_libs","_rxSubjects","_constants","_utils","_pushLogoutCallback","_StreamVideoRN","_callingx","lastFirebaseToken","token","userId","initAndroidPushToken","client","pushConfig","setUnsubscribeListener","Platform","OS","android","pushProviderName","logger","videoLoggerSystem","getLogger","setDeviceToken","streamClient","_user","id","anonymous","debug","setPushLogoutCallback","removeDevice","err","warn","push_provider_name","addDevice","isExpo","expoNotificationsLib","onTapNonRingingCallNotification","getExpoNotificationsLib","getExpoNotificationsLibNoThrow","subscription","addPushTokenListener","devicePushToken","data","remove","getDevicePushTokenAsync","messaging","getFirebaseMessagingLibNoThrow","getFirebaseMessagingLib","unsubscribe","onTokenRefresh","refreshedToken","getToken","firebaseDataHandler","StreamVideoRN","getConfig","push","sender","type","call_cid","callingx","getCallingxLib","createStreamVideoClient","stopService","asForegroundService","canListenToWS","startBackgroundTask","_","stopTask","Promise","resolve","finishBackgroundTask","log","undefined","_client","callFromPush","onRingingCall","mustEndCall","endCallReason","shouldCallBeClosed","endCallWithReason","unsubscribeFunctions","on","event","_canListenToWS","forEach","fn","mustEndCallFromEvent","endCallReasonFromEvent","stateSubscription","state","callingState$","subscribe","callingState","CallingState","IDLE","LEFT","endCallSubscription","addEventListener","callId","leave","reject","RINGING","reason","error","appStateSubscription","AppState","nextAppState","pushUnsubscriptionCallbacks","get","cb","set","notifeeLib","getNotifeeLibThrowIfNotInstalledForPush","notifee","default","settings","getNotificationSettings","authorizationStatus","callChannel","callNotificationTextGetters","createChannel","channelId","getTitle","getBody","createdUserName","created_by_display_name","title","body","displayNotification","sound","smallIcon","vibrationPattern","importance","pressAction","launchActivity","timeoutAfter","cid","pushNonRingingCallData$","next","exports","onAndroidNotifeeEvent","detail","notification","notificationId","EventType","PRESS"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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","ignoreList":[]}
|