@stream-io/video-react-native-sdk 1.29.4-beta.0 → 1.30.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 +3162 -0
- package/android/src/main/AndroidManifest.xml +1 -8
- package/android/src/main/AndroidManifestNew.xml +0 -11
- package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +5 -42
- package/android/src/main/java/com/streamvideo/reactnative/audio/utils/WebRtcAudioUtils.kt +6 -70
- package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +4 -6
- package/android/src/main/java/com/streamvideo/reactnative/util/CallAliveServiceChecker.kt +95 -0
- package/dist/commonjs/components/Call/CallContent/CallContent.js +13 -7
- package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
- package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js +50 -14
- package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
- package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js +27 -0
- package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js +19 -10
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js +12 -9
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
- package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js +19 -4
- package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
- package/dist/commonjs/hooks/push/index.js +2 -0
- package/dist/commonjs/hooks/push/index.js.map +1 -1
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +160 -0
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -0
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +31 -18
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js +67 -0
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js.map +1 -0
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +97 -64
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/commonjs/index.js +0 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/modules/call-manager/CallManager.js +0 -26
- package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
- package/dist/commonjs/providers/StreamCall/index.js +6 -6
- package/dist/commonjs/providers/StreamCall/index.js.map +1 -1
- package/dist/commonjs/utils/StreamVideoRN/index.js +21 -33
- package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/commonjs/utils/hooks/index.js +0 -11
- package/dist/commonjs/utils/hooks/index.js.map +1 -1
- package/dist/commonjs/utils/internal/registerSDKGlobals.js +3 -52
- package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/commonjs/utils/push/android.js +202 -151
- package/dist/commonjs/utils/push/android.js.map +1 -1
- package/dist/commonjs/utils/push/internal/ios.js +34 -17
- package/dist/commonjs/utils/push/internal/ios.js.map +1 -1
- package/dist/commonjs/utils/push/internal/rxSubjects.js +45 -1
- package/dist/commonjs/utils/push/internal/rxSubjects.js.map +1 -1
- package/dist/commonjs/utils/push/internal/utils.js +20 -32
- 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/callkeep.js +17 -0
- package/dist/commonjs/utils/push/libs/callkeep.js.map +1 -0
- package/dist/commonjs/utils/push/libs/index.js +19 -8
- package/dist/commonjs/utils/push/libs/index.js.map +1 -1
- package/dist/commonjs/utils/push/libs/notifee/index.js +19 -0
- package/dist/commonjs/utils/push/libs/notifee/index.js.map +1 -1
- package/dist/commonjs/utils/push/libs/voipPushNotification.js +17 -0
- package/dist/commonjs/utils/push/libs/voipPushNotification.js.map +1 -0
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js +205 -0
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js.map +1 -0
- package/dist/commonjs/utils/push/setupIosVoipPushEvents.js +6 -7
- 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/CallContent/CallContent.js +10 -4
- package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
- package/dist/module/components/Call/CallContent/RTCViewPipIOS.js +52 -16
- package/dist/module/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
- package/dist/module/components/Call/CallContent/RTCViewPipNative.js +27 -0
- package/dist/module/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js +19 -10
- package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js +15 -12
- package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
- package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js +20 -5
- package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
- package/dist/module/hooks/push/index.js +2 -0
- package/dist/module/hooks/push/index.js.map +1 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +153 -0
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -0
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +31 -18
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/push/useProcessPushCallEffect.js +60 -0
- package/dist/module/hooks/push/useProcessPushCallEffect.js.map +1 -0
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +99 -66
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/module/index.js +0 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/modules/call-manager/CallManager.js +0 -26
- package/dist/module/modules/call-manager/CallManager.js.map +1 -1
- package/dist/module/providers/StreamCall/index.js +6 -6
- package/dist/module/providers/StreamCall/index.js.map +1 -1
- package/dist/module/utils/StreamVideoRN/index.js +21 -33
- package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/module/utils/hooks/index.js +0 -1
- package/dist/module/utils/hooks/index.js.map +1 -1
- package/dist/module/utils/internal/registerSDKGlobals.js +3 -52
- package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/module/utils/push/android.js +204 -153
- package/dist/module/utils/push/android.js.map +1 -1
- package/dist/module/utils/push/internal/ios.js +34 -17
- package/dist/module/utils/push/internal/ios.js.map +1 -1
- package/dist/module/utils/push/internal/rxSubjects.js +44 -0
- package/dist/module/utils/push/internal/rxSubjects.js.map +1 -1
- package/dist/module/utils/push/internal/utils.js +19 -29
- 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/callkeep.js +11 -0
- package/dist/module/utils/push/libs/callkeep.js.map +1 -0
- package/dist/module/utils/push/libs/index.js +2 -1
- package/dist/module/utils/push/libs/index.js.map +1 -1
- package/dist/module/utils/push/libs/notifee/index.js +18 -0
- package/dist/module/utils/push/libs/notifee/index.js.map +1 -1
- package/dist/module/utils/push/libs/voipPushNotification.js +11 -0
- package/dist/module/utils/push/libs/voipPushNotification.js.map +1 -0
- package/dist/module/utils/push/setupIosCallKeepEvents.js +199 -0
- package/dist/module/utils/push/setupIosCallKeepEvents.js.map +1 -0
- package/dist/module/utils/push/setupIosVoipPushEvents.js +6 -7
- 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/CallContent/CallContent.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts +18 -0
- package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsGrid.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallParticipantsList/CallParticipantsList.d.ts.map +1 -1
- package/dist/typescript/hooks/push/index.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts +5 -0
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts.map +1 -0
- package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts +8 -0
- package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts.map +1 -0
- package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
- package/dist/typescript/index.d.ts +0 -1
- package/dist/typescript/index.d.ts.map +1 -1
- package/dist/typescript/modules/call-manager/CallManager.d.ts +0 -5
- package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/index.d.ts +2 -20
- package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/types.d.ts +29 -54
- package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
- package/dist/typescript/utils/hooks/index.d.ts +0 -1
- package/dist/typescript/utils/hooks/index.d.ts.map +1 -1
- package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
- package/dist/typescript/utils/push/android.d.ts +2 -1
- 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 +33 -0
- package/dist/typescript/utils/push/internal/rxSubjects.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/utils.d.ts +1 -8
- package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
- package/dist/typescript/utils/push/ios.d.ts +2 -1
- package/dist/typescript/utils/push/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/callkeep.d.ts +3 -0
- package/dist/typescript/utils/push/libs/callkeep.d.ts.map +1 -0
- package/dist/typescript/utils/push/libs/index.d.ts +2 -1
- package/dist/typescript/utils/push/libs/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/notifee/index.d.ts +1 -0
- package/dist/typescript/utils/push/libs/notifee/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/voipPushNotification.d.ts +3 -0
- package/dist/typescript/utils/push/libs/voipPushNotification.d.ts.map +1 -0
- package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts +6 -0
- package/dist/typescript/utils/push/setupIosCallKeepEvents.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 +33 -1
- package/expo-config-plugin/dist/withAndroidPermissions.js +7 -2
- package/expo-config-plugin/dist/withAppDelegate.js +197 -19
- package/expo-config-plugin/dist/withMainActivity.js +1 -1
- package/expo-config-plugin/dist/withiOSInfoPlist.js +3 -2
- package/ios/PictureInPicture/PictureInPictureAvatarView.swift +273 -0
- package/ios/PictureInPicture/PictureInPictureConnectionQualityIndicator.swift +162 -0
- package/ios/PictureInPicture/PictureInPictureContent.swift +173 -0
- package/ios/PictureInPicture/PictureInPictureContentState.swift +123 -0
- package/ios/PictureInPicture/PictureInPictureDelegateProxy.swift +89 -0
- package/ios/PictureInPicture/PictureInPictureEnforcedStopAdapter.swift +166 -0
- package/ios/PictureInPicture/PictureInPictureLogger.swift +16 -0
- package/ios/PictureInPicture/PictureInPictureParticipantOverlayView.swift +217 -0
- package/ios/PictureInPicture/PictureInPictureReconnectionView.swift +193 -0
- package/ios/PictureInPicture/StreamAVPictureInPictureVideoCallViewController.swift +125 -7
- package/ios/PictureInPicture/StreamPictureInPictureController.swift +237 -63
- package/ios/PictureInPicture/StreamPictureInPictureControllerProtocol.swift +30 -0
- package/ios/PictureInPicture/StreamPictureInPictureVideoRenderer.swift +384 -12
- package/ios/RTCViewPip.swift +187 -21
- package/ios/RTCViewPipManager.mm +9 -0
- package/ios/RTCViewPipManager.swift +3 -3
- package/ios/StreamInCallManager.m +0 -2
- package/ios/StreamInCallManager.swift +7 -19
- package/ios/StreamVideoReactNative.h +4 -7
- package/ios/StreamVideoReactNative.m +82 -189
- package/package.json +19 -14
- package/src/components/Call/CallContent/CallContent.tsx +16 -8
- package/src/components/Call/CallContent/RTCViewPipIOS.tsx +81 -15
- package/src/components/Call/CallContent/RTCViewPipNative.tsx +36 -0
- package/src/components/Call/CallLayout/CallParticipantsGrid.tsx +28 -14
- package/src/components/Call/CallLayout/CallParticipantsSpotlight.tsx +19 -10
- package/src/components/Call/CallParticipantsList/CallParticipantsList.tsx +20 -5
- package/src/hooks/push/index.ts +2 -0
- package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +235 -0
- package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +34 -21
- package/src/hooks/push/useProcessPushCallEffect.ts +108 -0
- package/src/hooks/useAndroidKeepCallAliveEffect.ts +120 -94
- package/src/index.ts +0 -1
- package/src/modules/call-manager/CallManager.ts +0 -36
- package/src/modules/call-manager/native-module.d.ts +0 -7
- package/src/providers/StreamCall/index.tsx +6 -6
- package/src/utils/StreamVideoRN/index.ts +30 -40
- package/src/utils/StreamVideoRN/types.ts +29 -56
- package/src/utils/hooks/index.ts +0 -1
- package/src/utils/internal/registerSDKGlobals.ts +4 -47
- package/src/utils/push/android.ts +309 -227
- package/src/utils/push/internal/ios.ts +44 -28
- package/src/utils/push/internal/rxSubjects.ts +61 -0
- package/src/utils/push/internal/utils.ts +26 -45
- package/src/utils/push/ios.ts +6 -1
- package/src/utils/push/libs/callkeep.ts +16 -0
- package/src/utils/push/libs/index.ts +2 -1
- package/src/utils/push/libs/notifee/index.ts +27 -0
- package/src/utils/push/libs/voipPushNotification.ts +17 -0
- package/src/utils/push/setupIosCallKeepEvents.ts +252 -0
- package/src/utils/push/setupIosVoipPushEvents.ts +7 -11
- package/src/version.ts +1 -1
- package/android/src/main/java/com/streamvideo/reactnative/keepalive/KeepAliveNotification.kt +0 -83
- package/android/src/main/java/com/streamvideo/reactnative/keepalive/StreamCallKeepAliveHeadlessService.kt +0 -149
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +0 -121
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +0 -1
- package/dist/commonjs/utils/hooks/useDebouncedValue.js +0 -24
- package/dist/commonjs/utils/hooks/useDebouncedValue.js.map +0 -1
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js +0 -58
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js.map +0 -1
- package/dist/commonjs/utils/internal/callingx/callingx.js +0 -109
- package/dist/commonjs/utils/internal/callingx/callingx.js.map +0 -1
- package/dist/commonjs/utils/keepCallAliveHeadlessTask.js +0 -48
- package/dist/commonjs/utils/keepCallAliveHeadlessTask.js.map +0 -1
- package/dist/commonjs/utils/push/libs/callingx.js +0 -75
- package/dist/commonjs/utils/push/libs/callingx.js.map +0 -1
- package/dist/commonjs/utils/push/setupCallingExpEvents.js +0 -108
- package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +0 -1
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +0 -114
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +0 -1
- package/dist/module/utils/hooks/useDebouncedValue.js +0 -19
- package/dist/module/utils/hooks/useDebouncedValue.js.map +0 -1
- package/dist/module/utils/internal/callingx/audioSessionPromise.js +0 -51
- package/dist/module/utils/internal/callingx/audioSessionPromise.js.map +0 -1
- package/dist/module/utils/internal/callingx/callingx.js +0 -100
- package/dist/module/utils/internal/callingx/callingx.js.map +0 -1
- package/dist/module/utils/keepCallAliveHeadlessTask.js +0 -42
- package/dist/module/utils/keepCallAliveHeadlessTask.js.map +0 -1
- package/dist/module/utils/push/libs/callingx.js +0 -67
- package/dist/module/utils/push/libs/callingx.js.map +0 -1
- package/dist/module/utils/push/setupCallingExpEvents.js +0 -102
- package/dist/module/utils/push/setupCallingExpEvents.js.map +0 -1
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts +0 -5
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +0 -1
- package/dist/typescript/utils/hooks/useDebouncedValue.d.ts +0 -8
- package/dist/typescript/utils/hooks/useDebouncedValue.d.ts.map +0 -1
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts +0 -16
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts.map +0 -1
- package/dist/typescript/utils/internal/callingx/callingx.d.ts +0 -14
- package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +0 -1
- package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts +0 -10
- package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts.map +0 -1
- package/dist/typescript/utils/push/libs/callingx.d.ts +0 -9
- package/dist/typescript/utils/push/libs/callingx.d.ts.map +0 -1
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts +0 -8
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +0 -1
- package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +0 -147
- package/src/utils/hooks/useDebouncedValue.ts +0 -21
- package/src/utils/internal/callingx/audioSessionPromise.ts +0 -53
- package/src/utils/internal/callingx/callingx.ts +0 -146
- package/src/utils/keepCallAliveHeadlessTask.ts +0 -54
- package/src/utils/push/libs/callingx.ts +0 -90
- package/src/utils/push/setupCallingExpEvents.ts +0 -130
|
@@ -13,8 +13,10 @@ 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");
|
|
16
17
|
var _StreamVideoRN = require("../StreamVideoRN");
|
|
17
|
-
|
|
18
|
+
const ACCEPT_CALL_ACTION_ID = 'accept';
|
|
19
|
+
const DECLINE_CALL_ACTION_ID = 'decline';
|
|
18
20
|
let lastFirebaseToken = {
|
|
19
21
|
token: '',
|
|
20
22
|
userId: ''
|
|
@@ -69,7 +71,8 @@ async function initAndroidPushToken(client, pushConfig, setUnsubscribeListener)
|
|
|
69
71
|
await setDeviceToken(token);
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
|
-
|
|
74
|
+
// TODO: remove the incomingCallChannel check and find a better way once we have telecom integration for android
|
|
75
|
+
const messaging = pushConfig.isExpo && !pushConfig.android.incomingCallChannel ? (0, _libs.getFirebaseMessagingLibNoThrow)(true) : (0, _libs.getFirebaseMessagingLib)();
|
|
73
76
|
if (messaging) {
|
|
74
77
|
logger.debug(`setting firebase token listeners`);
|
|
75
78
|
const unsubscribe = messaging().onTokenRefresh(refreshedToken => setDeviceToken(refreshedToken));
|
|
@@ -83,8 +86,8 @@ async function initAndroidPushToken(client, pushConfig, setUnsubscribeListener)
|
|
|
83
86
|
* Creates notification from the push message data.
|
|
84
87
|
* For Ringing and Non-Ringing calls.
|
|
85
88
|
*/
|
|
86
|
-
|
|
87
89
|
const firebaseDataHandler = async data => {
|
|
90
|
+
if (_reactNative.Platform.OS !== 'android') return;
|
|
88
91
|
/* Example data from firebase
|
|
89
92
|
"message": {
|
|
90
93
|
"data": {
|
|
@@ -100,171 +103,174 @@ const firebaseDataHandler = async data => {
|
|
|
100
103
|
// other stuff
|
|
101
104
|
}
|
|
102
105
|
*/
|
|
103
|
-
if (_reactNative.Platform.OS !== 'android') return;
|
|
104
|
-
const logger = _videoClient.videoLoggerSystem.getLogger('firebaseDataHandler');
|
|
105
106
|
const pushConfig = _StreamVideoRN.StreamVideoRN.getConfig().push;
|
|
106
107
|
if (!pushConfig || !data || data.sender !== 'stream.video') {
|
|
107
108
|
return;
|
|
108
109
|
}
|
|
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
|
+
}
|
|
109
118
|
if (data.type === 'call.ring') {
|
|
110
119
|
const call_cid = data.call_cid;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const shouldRejectCallWhenBusy = client['rejectCallWhenBusy'] ?? false;
|
|
126
|
-
if (callingx.hasRegisteredCall() && shouldRejectCallWhenBusy) {
|
|
127
|
-
logger.debug(`registered call found, skipping the call.ring notification`);
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
const asForegroundService = (0, _utils.canListenToWS)();
|
|
131
|
-
const callerName = data.created_by_display_name;
|
|
132
|
-
const hasVideo = data.video === 'true';
|
|
120
|
+
const created_by_id = data.created_by_id;
|
|
121
|
+
const receiver_id = data.receiver_id;
|
|
122
|
+
const video_client = await pushConfig.createStreamVideoClient();
|
|
123
|
+
await video_client?.onRingingCall(call_cid);
|
|
124
|
+
const shouldCallBeClosed = callToCheck => {
|
|
125
|
+
const {
|
|
126
|
+
mustEndCall
|
|
127
|
+
} = (0, _utils.shouldCallBeEnded)(callToCheck, created_by_id, receiver_id);
|
|
128
|
+
return mustEndCall;
|
|
129
|
+
};
|
|
130
|
+
const canListenToWS = () => _utils.canAddPushWSSubscriptionsRef.current && _reactNative.AppState.currentState !== 'active';
|
|
131
|
+
const asForegroundService = canListenToWS();
|
|
133
132
|
if (asForegroundService) {
|
|
134
133
|
// Listen to call events from WS through fg service
|
|
135
134
|
// note: this will replace the current empty fg service runner
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
logger.debug(`Closing fg service callCid: ${call_cid} endCallReason: ${endCallReason}`);
|
|
159
|
-
finishBackgroundTask();
|
|
160
|
-
callingx.log(`Ending call with callCid: ${call_cid} endCallReason: ${endCallReason}`, 'debug');
|
|
161
|
-
callingx.endCallWithReason(call_cid, endCallReason);
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
const unsubscribeFunctions = [];
|
|
165
|
-
// check if service needs to be closed if accept/decline event was done on another device
|
|
166
|
-
const unsubscribe = callFromPush.on('all', event => {
|
|
167
|
-
const _canListenToWS = (0, _utils.canListenToWS)();
|
|
168
|
-
if (!_canListenToWS) {
|
|
169
|
-
logger.debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, {
|
|
170
|
-
event
|
|
171
|
-
});
|
|
172
|
-
unsubscribeFunctions.forEach(fn => fn());
|
|
173
|
-
finishBackgroundTask();
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
const {
|
|
177
|
-
mustEndCall: mustEndCallFromEvent,
|
|
178
|
-
endCallReason: endCallReasonFromEvent
|
|
179
|
-
} = (0, _utils.shouldCallBeClosed)(callFromPush, data);
|
|
180
|
-
if (mustEndCallFromEvent) {
|
|
181
|
-
logger.debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS} shouldCallBeClosed`, {
|
|
182
|
-
event
|
|
183
|
-
});
|
|
184
|
-
unsubscribeFunctions.forEach(fn => fn());
|
|
185
|
-
finishBackgroundTask();
|
|
186
|
-
callingx.endCallWithReason(call_cid, endCallReasonFromEvent);
|
|
187
|
-
}
|
|
135
|
+
notifee.registerForegroundService(() => {
|
|
136
|
+
return new Promise(async () => {
|
|
137
|
+
const client = await pushConfig.createStreamVideoClient();
|
|
138
|
+
if (!client) {
|
|
139
|
+
_videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service as there is no client to create from push config`);
|
|
140
|
+
notifee.stopForegroundService();
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const callFromPush = await client.onRingingCall(call_cid);
|
|
144
|
+
let _shouldCallBeClosed = shouldCallBeClosed(callFromPush);
|
|
145
|
+
if (_shouldCallBeClosed) {
|
|
146
|
+
_videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service callCid: ${call_cid} shouldCallBeClosed: ${_shouldCallBeClosed}`);
|
|
147
|
+
notifee.stopForegroundService();
|
|
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 = canListenToWS();
|
|
154
|
+
if (!_canListenToWS) {
|
|
155
|
+
_videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, {
|
|
156
|
+
event
|
|
188
157
|
});
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
const endCallSubscription = callingx.addEventListener('endCall', async ({
|
|
200
|
-
callId
|
|
201
|
-
}) => {
|
|
202
|
-
unsubscribeFunctions.forEach(fn => fn());
|
|
203
|
-
try {
|
|
204
|
-
await callFromPush.leave({
|
|
205
|
-
reject: true,
|
|
206
|
-
reason: 'decline'
|
|
207
|
-
});
|
|
208
|
-
} catch (error) {
|
|
209
|
-
logger.error(`Failed to leave call with callCid: ${call_cid} error: ${error}`);
|
|
210
|
-
} finally {
|
|
211
|
-
callingx.log(`Ending call with callCid: ${call_cid} callId: ${callId}`, 'debug');
|
|
212
|
-
finishBackgroundTask();
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
//stop background task when app comes to foreground
|
|
217
|
-
const appStateSubscription = _reactNative.AppState.addEventListener('change', nextAppState => {
|
|
218
|
-
const _canListenToWS = (0, _utils.canListenToWS)();
|
|
219
|
-
callingx.log(`AppState changed to: ${nextAppState} for callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, 'debug');
|
|
220
|
-
if (!_canListenToWS) {
|
|
221
|
-
unsubscribeFunctions.forEach(fn => fn());
|
|
222
|
-
finishBackgroundTask();
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
158
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
159
|
+
notifee.stopForegroundService();
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
_shouldCallBeClosed = shouldCallBeClosed(callFromPush);
|
|
163
|
+
if (_shouldCallBeClosed) {
|
|
164
|
+
_videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS} shouldCallBeClosed: ${_shouldCallBeClosed}`, {
|
|
165
|
+
event
|
|
225
166
|
});
|
|
226
|
-
unsubscribeFunctions.
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
167
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
168
|
+
notifee.stopForegroundService();
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
// check if service needs to be closed if call was left
|
|
172
|
+
const subscription = callFromPush.state.callingState$.subscribe(callingState => {
|
|
173
|
+
if (callingState === _videoClient.CallingState.IDLE || callingState === _videoClient.CallingState.LEFT) {
|
|
174
|
+
_videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service from callingState callCid: ${call_cid} callingState: ${callingState}`);
|
|
175
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
176
|
+
notifee.stopForegroundService();
|
|
235
177
|
}
|
|
236
|
-
})
|
|
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);
|
|
237
183
|
});
|
|
238
184
|
});
|
|
239
185
|
}
|
|
240
|
-
|
|
241
|
-
|
|
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
|
+
});
|
|
242
252
|
if (asForegroundService) {
|
|
243
253
|
// no need to check if call has be closed as that will be handled by the fg service
|
|
244
254
|
return;
|
|
245
255
|
}
|
|
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
|
+
}
|
|
246
263
|
const callFromPush = await client.onRingingCall(call_cid);
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
} = (0, _utils.shouldCallBeClosed)(callFromPush, data);
|
|
251
|
-
if (mustEndCall) {
|
|
252
|
-
logger.debug(`Removing incoming call notification immediately with callCid: ${call_cid} as it should be closed`);
|
|
253
|
-
callingx.endCallWithReason(call_cid, endCallReason);
|
|
264
|
+
if (shouldCallBeClosed(callFromPush)) {
|
|
265
|
+
_videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Removing incoming call notification immediately with callCid: ${call_cid} as it should be closed`);
|
|
266
|
+
notifee.cancelDisplayedNotification(call_cid);
|
|
254
267
|
}
|
|
255
268
|
} else {
|
|
256
|
-
const notifeeLib = (0, _libs.getNotifeeLibThrowIfNotInstalledForPush)();
|
|
257
|
-
const notifee = notifeeLib.default;
|
|
258
|
-
const settings = await notifee.getNotificationSettings();
|
|
259
|
-
if (settings.authorizationStatus !== 1) {
|
|
260
|
-
logger.debug(`Notification permission not granted, unable to post ${data.type} notifications`);
|
|
261
|
-
return;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
269
|
// the other types are call.live_started and call.notification
|
|
265
270
|
const callChannel = pushConfig.android.callChannel;
|
|
266
271
|
const callNotificationTextGetters = pushConfig.android.callNotificationTextGetters;
|
|
267
272
|
if (!callChannel || !callNotificationTextGetters) {
|
|
273
|
+
const logger = _videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler');
|
|
268
274
|
logger.debug("Can't show call notification as either or both callChannel and callNotificationTextGetters is not provided");
|
|
269
275
|
return;
|
|
270
276
|
}
|
|
@@ -279,10 +285,10 @@ const firebaseDataHandler = async data => {
|
|
|
279
285
|
const type = data.type;
|
|
280
286
|
const title = getTitle(type, createdUserName);
|
|
281
287
|
const body = getBody(type, createdUserName);
|
|
282
|
-
|
|
288
|
+
_videoClient.videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Displaying NonRingingPushEvent ${type} notification with title: ${title} body: ${body}`);
|
|
283
289
|
await notifee.displayNotification({
|
|
284
|
-
title,
|
|
285
|
-
body,
|
|
290
|
+
title: getTitle(type, createdUserName),
|
|
291
|
+
body: getBody(type, createdUserName),
|
|
286
292
|
data,
|
|
287
293
|
android: {
|
|
288
294
|
sound: callChannel.sound,
|
|
@@ -307,7 +313,8 @@ const firebaseDataHandler = async data => {
|
|
|
307
313
|
};
|
|
308
314
|
exports.firebaseDataHandler = firebaseDataHandler;
|
|
309
315
|
const onAndroidNotifeeEvent = async ({
|
|
310
|
-
event
|
|
316
|
+
event,
|
|
317
|
+
isBackground
|
|
311
318
|
}) => {
|
|
312
319
|
if (_reactNative.Platform.OS !== 'android') return;
|
|
313
320
|
const {
|
|
@@ -315,7 +322,8 @@ const onAndroidNotifeeEvent = async ({
|
|
|
315
322
|
detail
|
|
316
323
|
} = event;
|
|
317
324
|
const {
|
|
318
|
-
notification
|
|
325
|
+
notification,
|
|
326
|
+
pressAction
|
|
319
327
|
} = detail;
|
|
320
328
|
const notificationId = notification?.id;
|
|
321
329
|
const data = notification?.data;
|
|
@@ -326,10 +334,53 @@ const onAndroidNotifeeEvent = async ({
|
|
|
326
334
|
|
|
327
335
|
// we can safely cast to string because the data is from "stream.video"
|
|
328
336
|
const call_cid = data.call_cid;
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
337
|
+
if (data.type === 'call.ring') {
|
|
338
|
+
// check if we have observers for the call cid (this means the app is in the foreground state)
|
|
339
|
+
const hasObservers = _rxSubjects.pushAcceptedIncomingCallCId$.observed && _rxSubjects.pushRejectedIncomingCallCId$.observed;
|
|
340
|
+
const notifeeLib = (0, _libs.getNotifeeLibThrowIfNotInstalledForPush)();
|
|
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
|
+
}
|
|
333
384
|
}
|
|
334
385
|
};
|
|
335
386
|
exports.onAndroidNotifeeEvent = onAndroidNotifeeEvent;
|
|
@@ -1 +1 @@
|
|
|
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","canPostNotifications","createStreamVideoClient","shouldRejectCallWhenBusy","hasRegisteredCall","asForegroundService","canListenToWS","callerName","created_by_display_name","hasVideo","video","registerBackgroundTask","_","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","reason","error","appStateSubscription","AppState","nextAppState","pushUnsubscriptionCallbacks","get","cb","set","displayIncomingCall","notifeeLib","getNotifeeLibThrowIfNotInstalledForPush","notifee","default","settings","getNotificationSettings","authorizationStatus","callChannel","callNotificationTextGetters","createChannel","channelId","getTitle","getBody","createdUserName","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":[]}
|
|
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":[]}
|
|
@@ -5,10 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.onVoipNotificationReceived = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
+
var _libs = require("../libs");
|
|
9
|
+
var _rxSubjects = require("./rxSubjects");
|
|
8
10
|
var _constants = require("./constants");
|
|
9
11
|
var _utils = require("./utils");
|
|
10
12
|
var _videoClient = require("@stream-io/video-client");
|
|
11
|
-
var _callingx = require("../libs/callingx");
|
|
12
13
|
const onVoipNotificationReceived = async (notification, pushConfig) => {
|
|
13
14
|
/* --- Example payload ---
|
|
14
15
|
{
|
|
@@ -32,7 +33,6 @@ const onVoipNotificationReceived = async (notification, pushConfig) => {
|
|
|
32
33
|
"version": "v2"
|
|
33
34
|
}
|
|
34
35
|
} */
|
|
35
|
-
const logger = _videoClient.videoLoggerSystem.getLogger('callingx - onVoipNotificationReceived');
|
|
36
36
|
const sender = notification?.stream?.sender;
|
|
37
37
|
const type = notification?.stream?.type;
|
|
38
38
|
// do not process any other notifications other than stream.video or ringing
|
|
@@ -43,34 +43,50 @@ const onVoipNotificationReceived = async (notification, pushConfig) => {
|
|
|
43
43
|
if (!call_cid || _reactNative.Platform.OS !== 'ios' || !pushConfig.ios.pushProviderName) {
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
const
|
|
47
|
-
if (callingx.isCallTracked(call_cid)) {
|
|
48
|
-
//same call_cid is already tracked, so we skip the notification
|
|
49
|
-
logger.debug(`the same call_cid ${call_cid} is already tracked, skipping the call.ring notification`);
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
46
|
+
const logger = _videoClient.videoLoggerSystem.getLogger('setupIosVoipPushEvents');
|
|
52
47
|
const client = await pushConfig.createStreamVideoClient();
|
|
53
48
|
if (!client) {
|
|
54
49
|
logger.debug('client not found, not processing call.ring voip push notification');
|
|
55
50
|
return;
|
|
56
51
|
}
|
|
52
|
+
const shouldRejectCallWhenBusy = client['rejectCallWhenBusy'] ?? false;
|
|
53
|
+
if (shouldRejectCallWhenBusy) {
|
|
54
|
+
// inform the iOS native module that we should reject call when busy
|
|
55
|
+
_reactNative.NativeModules.StreamVideoReactNative.setShouldRejectCallWhenBusy(shouldRejectCallWhenBusy);
|
|
56
|
+
}
|
|
57
57
|
const callFromPush = await client.onRingingCall(call_cid);
|
|
58
|
+
let uuid = '';
|
|
59
|
+
try {
|
|
60
|
+
uuid = await _reactNative.NativeModules?.StreamVideoReactNative?.getIncomingCallUUid(call_cid);
|
|
61
|
+
} catch (error) {
|
|
62
|
+
logger.error('Error in getting call uuid from native module', error);
|
|
63
|
+
}
|
|
64
|
+
if (!uuid) {
|
|
65
|
+
logger.error(`Not processing call.ring push notification, as no uuid found for call_cid: ${call_cid}`);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const created_by_id = notification?.stream?.created_by_id;
|
|
69
|
+
const receiver_id = notification?.stream?.receiver_id;
|
|
58
70
|
function closeCallIfNecessary() {
|
|
59
71
|
const {
|
|
60
72
|
mustEndCall,
|
|
61
|
-
|
|
62
|
-
} = (0, _utils.
|
|
73
|
+
callkeepReason
|
|
74
|
+
} = (0, _utils.shouldCallBeEnded)(callFromPush, created_by_id, receiver_id);
|
|
63
75
|
if (mustEndCall) {
|
|
64
|
-
|
|
65
|
-
|
|
76
|
+
const callkeep = (0, _libs.getCallKeepLib)();
|
|
77
|
+
logger.debug(`callkeep.reportEndCallWithUUID for uuid: ${uuid}, call_cid: ${call_cid}, reason: ${callkeepReason}`);
|
|
78
|
+
callkeep.reportEndCallWithUUID(uuid, callkeepReason);
|
|
79
|
+
const voipPushNotification = (0, _libs.getVoipPushNotificationLib)();
|
|
80
|
+
voipPushNotification.onVoipNotificationCompleted(uuid);
|
|
66
81
|
return true;
|
|
67
82
|
}
|
|
68
83
|
return false;
|
|
69
84
|
}
|
|
70
85
|
const closed = closeCallIfNecessary();
|
|
71
|
-
|
|
86
|
+
const canListenToWS = () => _utils.canAddPushWSSubscriptionsRef.current && _reactNative.AppState.currentState !== 'active';
|
|
87
|
+
if (!closed && canListenToWS()) {
|
|
72
88
|
const unsubscribe = callFromPush.on('all', event => {
|
|
73
|
-
const _canListenToWS =
|
|
89
|
+
const _canListenToWS = canListenToWS();
|
|
74
90
|
if (!_canListenToWS) {
|
|
75
91
|
logger.debug(`unsubscribe due to event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, event);
|
|
76
92
|
unsubscribe();
|
|
@@ -85,9 +101,10 @@ const onVoipNotificationReceived = async (notification, pushConfig) => {
|
|
|
85
101
|
_constants.pushUnsubscriptionCallbacks.get(call_cid)?.forEach(cb => cb());
|
|
86
102
|
_constants.pushUnsubscriptionCallbacks.set(call_cid, [unsubscribe]);
|
|
87
103
|
}
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
logger.debug(`call_cid:${call_cid} received and processed from call.ring push notification`);
|
|
104
|
+
// send the info to this subject, it is listened by callkeep events
|
|
105
|
+
// callkeep events will then accept/reject the call
|
|
106
|
+
logger.debug(`call_cid:${call_cid} uuid:${uuid} received and processed from call.ring push notification`);
|
|
107
|
+
_rxSubjects.voipPushNotificationCallCId$.next(call_cid);
|
|
91
108
|
};
|
|
92
109
|
exports.onVoipNotificationReceived = onVoipNotificationReceived;
|
|
93
110
|
//# sourceMappingURL=ios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_constants","_utils","_videoClient","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_libs","_rxSubjects","_constants","_utils","_videoClient","onVoipNotificationReceived","notification","pushConfig","sender","stream","type","call_cid","Platform","OS","ios","pushProviderName","logger","videoLoggerSystem","getLogger","client","createStreamVideoClient","debug","shouldRejectCallWhenBusy","NativeModules","StreamVideoReactNative","setShouldRejectCallWhenBusy","callFromPush","onRingingCall","uuid","getIncomingCallUUid","error","created_by_id","receiver_id","closeCallIfNecessary","mustEndCall","callkeepReason","shouldCallBeEnded","callkeep","getCallKeepLib","reportEndCallWithUUID","voipPushNotification","getVoipPushNotificationLib","onVoipNotificationCompleted","closed","canListenToWS","canAddPushWSSubscriptionsRef","current","AppState","currentState","unsubscribe","on","event","_canListenToWS","_closed","pushUnsubscriptionCallbacks","get","forEach","cb","set","voipPushNotificationCallCId$","next","exports"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/ios.ts"],"mappings":"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","ignoreList":[]}
|