@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
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { CallingState, videoLoggerSystem } from '@stream-io/video-client';
|
|
2
2
|
import { AppState, Platform } from 'react-native';
|
|
3
|
-
import { getExpoNotificationsLib, getExpoNotificationsLibNoThrow, getFirebaseMessagingLib, getFirebaseMessagingLibNoThrow, getNotifeeLibThrowIfNotInstalledForPush } from './libs';
|
|
4
|
-
import { pushNonRingingCallData$ } from './internal/rxSubjects';
|
|
3
|
+
import { getExpoNotificationsLib, getExpoNotificationsLibNoThrow, getFirebaseMessagingLib, getFirebaseMessagingLibNoThrow, getIncomingCallForegroundServiceTypes, getNotifeeLibThrowIfNotInstalledForPush } from './libs';
|
|
4
|
+
import { pushAcceptedIncomingCallCId$, pushAndroidBackgroundDeliveredIncomingCallCId$, pushNonRingingCallData$, pushRejectedIncomingCallCId$, pushTappedIncomingCallCId$ } from './internal/rxSubjects';
|
|
5
5
|
import { pushUnsubscriptionCallbacks } from './internal/constants';
|
|
6
|
-
import {
|
|
6
|
+
import { canAddPushWSSubscriptionsRef, clearPushWSEventSubscriptions, processCallFromPushInBackground, shouldCallBeEnded } from './internal/utils';
|
|
7
7
|
import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
|
|
8
|
+
import { getAndroidDefaultRingtoneUrl } from '../getAndroidDefaultRingtoneUrl';
|
|
8
9
|
import { StreamVideoRN } from '../StreamVideoRN';
|
|
9
|
-
|
|
10
|
+
const ACCEPT_CALL_ACTION_ID = 'accept';
|
|
11
|
+
const DECLINE_CALL_ACTION_ID = 'decline';
|
|
10
12
|
let lastFirebaseToken = {
|
|
11
13
|
token: '',
|
|
12
14
|
userId: ''
|
|
@@ -61,7 +63,8 @@ export async function initAndroidPushToken(client, pushConfig, setUnsubscribeLis
|
|
|
61
63
|
await setDeviceToken(token);
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
|
-
|
|
66
|
+
// TODO: remove the incomingCallChannel check and find a better way once we have telecom integration for android
|
|
67
|
+
const messaging = pushConfig.isExpo && !pushConfig.android.incomingCallChannel ? getFirebaseMessagingLibNoThrow(true) : getFirebaseMessagingLib();
|
|
65
68
|
if (messaging) {
|
|
66
69
|
logger.debug(`setting firebase token listeners`);
|
|
67
70
|
const unsubscribe = messaging().onTokenRefresh(refreshedToken => setDeviceToken(refreshedToken));
|
|
@@ -75,8 +78,8 @@ export async function initAndroidPushToken(client, pushConfig, setUnsubscribeLis
|
|
|
75
78
|
* Creates notification from the push message data.
|
|
76
79
|
* For Ringing and Non-Ringing calls.
|
|
77
80
|
*/
|
|
78
|
-
|
|
79
81
|
export const firebaseDataHandler = async data => {
|
|
82
|
+
if (Platform.OS !== 'android') return;
|
|
80
83
|
/* Example data from firebase
|
|
81
84
|
"message": {
|
|
82
85
|
"data": {
|
|
@@ -92,171 +95,174 @@ export const firebaseDataHandler = async data => {
|
|
|
92
95
|
// other stuff
|
|
93
96
|
}
|
|
94
97
|
*/
|
|
95
|
-
if (Platform.OS !== 'android') return;
|
|
96
|
-
const logger = videoLoggerSystem.getLogger('firebaseDataHandler');
|
|
97
98
|
const pushConfig = StreamVideoRN.getConfig().push;
|
|
98
99
|
if (!pushConfig || !data || data.sender !== 'stream.video') {
|
|
99
100
|
return;
|
|
100
101
|
}
|
|
102
|
+
const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
|
|
103
|
+
const notifee = notifeeLib.default;
|
|
104
|
+
const settings = await notifee.getNotificationSettings();
|
|
105
|
+
if (settings.authorizationStatus !== 1) {
|
|
106
|
+
const logger = videoLoggerSystem.getLogger('firebaseDataHandler');
|
|
107
|
+
logger.debug(`Notification permission not granted, unable to post ${data.type} notifications`);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
101
110
|
if (data.type === 'call.ring') {
|
|
102
111
|
const call_cid = data.call_cid;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
logger.debug(`video client not found, skipping the call.ring notification`);
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
const shouldRejectCallWhenBusy = client['rejectCallWhenBusy'] ?? false;
|
|
118
|
-
if (callingx.hasRegisteredCall() && shouldRejectCallWhenBusy) {
|
|
119
|
-
logger.debug(`registered call found, skipping the call.ring notification`);
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
112
|
+
const created_by_id = data.created_by_id;
|
|
113
|
+
const receiver_id = data.receiver_id;
|
|
114
|
+
const video_client = await pushConfig.createStreamVideoClient();
|
|
115
|
+
await video_client?.onRingingCall(call_cid);
|
|
116
|
+
const shouldCallBeClosed = callToCheck => {
|
|
117
|
+
const {
|
|
118
|
+
mustEndCall
|
|
119
|
+
} = shouldCallBeEnded(callToCheck, created_by_id, receiver_id);
|
|
120
|
+
return mustEndCall;
|
|
121
|
+
};
|
|
122
|
+
const canListenToWS = () => canAddPushWSSubscriptionsRef.current && AppState.currentState !== 'active';
|
|
122
123
|
const asForegroundService = canListenToWS();
|
|
123
|
-
const callerName = data.created_by_display_name;
|
|
124
|
-
const hasVideo = data.video === 'true';
|
|
125
124
|
if (asForegroundService) {
|
|
126
125
|
// Listen to call events from WS through fg service
|
|
127
126
|
// note: this will replace the current empty fg service runner
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
logger.debug(`Closing fg service callCid: ${call_cid} endCallReason: ${endCallReason}`);
|
|
151
|
-
finishBackgroundTask();
|
|
152
|
-
callingx.log(`Ending call with callCid: ${call_cid} endCallReason: ${endCallReason}`, 'debug');
|
|
153
|
-
callingx.endCallWithReason(call_cid, endCallReason);
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
const unsubscribeFunctions = [];
|
|
157
|
-
// check if service needs to be closed if accept/decline event was done on another device
|
|
158
|
-
const unsubscribe = callFromPush.on('all', event => {
|
|
159
|
-
const _canListenToWS = canListenToWS();
|
|
160
|
-
if (!_canListenToWS) {
|
|
161
|
-
logger.debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, {
|
|
162
|
-
event
|
|
163
|
-
});
|
|
164
|
-
unsubscribeFunctions.forEach(fn => fn());
|
|
165
|
-
finishBackgroundTask();
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
const {
|
|
169
|
-
mustEndCall: mustEndCallFromEvent,
|
|
170
|
-
endCallReason: endCallReasonFromEvent
|
|
171
|
-
} = shouldCallBeClosed(callFromPush, data);
|
|
172
|
-
if (mustEndCallFromEvent) {
|
|
173
|
-
logger.debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS} shouldCallBeClosed`, {
|
|
174
|
-
event
|
|
175
|
-
});
|
|
176
|
-
unsubscribeFunctions.forEach(fn => fn());
|
|
177
|
-
finishBackgroundTask();
|
|
178
|
-
callingx.endCallWithReason(call_cid, endCallReasonFromEvent);
|
|
179
|
-
}
|
|
127
|
+
notifee.registerForegroundService(() => {
|
|
128
|
+
return new Promise(async () => {
|
|
129
|
+
const client = await pushConfig.createStreamVideoClient();
|
|
130
|
+
if (!client) {
|
|
131
|
+
videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service as there is no client to create from push config`);
|
|
132
|
+
notifee.stopForegroundService();
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const callFromPush = await client.onRingingCall(call_cid);
|
|
136
|
+
let _shouldCallBeClosed = shouldCallBeClosed(callFromPush);
|
|
137
|
+
if (_shouldCallBeClosed) {
|
|
138
|
+
videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service callCid: ${call_cid} shouldCallBeClosed: ${_shouldCallBeClosed}`);
|
|
139
|
+
notifee.stopForegroundService();
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const unsubscribeFunctions = [];
|
|
143
|
+
// check if service needs to be closed if accept/decline event was done on another device
|
|
144
|
+
const unsubscribe = callFromPush.on('all', event => {
|
|
145
|
+
const _canListenToWS = canListenToWS();
|
|
146
|
+
if (!_canListenToWS) {
|
|
147
|
+
videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, {
|
|
148
|
+
event
|
|
180
149
|
});
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
const endCallSubscription = callingx.addEventListener('endCall', async ({
|
|
192
|
-
callId
|
|
193
|
-
}) => {
|
|
194
|
-
unsubscribeFunctions.forEach(fn => fn());
|
|
195
|
-
try {
|
|
196
|
-
await callFromPush.leave({
|
|
197
|
-
reject: true,
|
|
198
|
-
reason: 'decline'
|
|
199
|
-
});
|
|
200
|
-
} catch (error) {
|
|
201
|
-
logger.error(`Failed to leave call with callCid: ${call_cid} error: ${error}`);
|
|
202
|
-
} finally {
|
|
203
|
-
callingx.log(`Ending call with callCid: ${call_cid} callId: ${callId}`, 'debug');
|
|
204
|
-
finishBackgroundTask();
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
|
|
208
|
-
//stop background task when app comes to foreground
|
|
209
|
-
const appStateSubscription = AppState.addEventListener('change', nextAppState => {
|
|
210
|
-
const _canListenToWS = canListenToWS();
|
|
211
|
-
callingx.log(`AppState changed to: ${nextAppState} for callCid: ${call_cid} canListenToWS: ${_canListenToWS}`, 'debug');
|
|
212
|
-
if (!_canListenToWS) {
|
|
213
|
-
unsubscribeFunctions.forEach(fn => fn());
|
|
214
|
-
finishBackgroundTask();
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
150
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
151
|
+
notifee.stopForegroundService();
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
_shouldCallBeClosed = shouldCallBeClosed(callFromPush);
|
|
155
|
+
if (_shouldCallBeClosed) {
|
|
156
|
+
videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service from event callCid: ${call_cid} canListenToWS: ${_canListenToWS} shouldCallBeClosed: ${_shouldCallBeClosed}`, {
|
|
157
|
+
event
|
|
217
158
|
});
|
|
218
|
-
unsubscribeFunctions.
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
159
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
160
|
+
notifee.stopForegroundService();
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
// check if service needs to be closed if call was left
|
|
164
|
+
const subscription = callFromPush.state.callingState$.subscribe(callingState => {
|
|
165
|
+
if (callingState === CallingState.IDLE || callingState === CallingState.LEFT) {
|
|
166
|
+
videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Closing fg service from callingState callCid: ${call_cid} callingState: ${callingState}`);
|
|
167
|
+
unsubscribeFunctions.forEach(fn => fn());
|
|
168
|
+
notifee.stopForegroundService();
|
|
227
169
|
}
|
|
228
|
-
})
|
|
170
|
+
});
|
|
171
|
+
unsubscribeFunctions.push(unsubscribe);
|
|
172
|
+
unsubscribeFunctions.push(() => subscription.unsubscribe());
|
|
173
|
+
pushUnsubscriptionCallbacks.get(call_cid)?.forEach(cb => cb());
|
|
174
|
+
pushUnsubscriptionCallbacks.set(call_cid, unsubscribeFunctions);
|
|
229
175
|
});
|
|
230
176
|
});
|
|
231
177
|
}
|
|
232
|
-
|
|
233
|
-
|
|
178
|
+
const incomingCallChannel = pushConfig.android.incomingCallChannel;
|
|
179
|
+
const incomingCallNotificationTextGetters = pushConfig.android.incomingCallNotificationTextGetters;
|
|
180
|
+
if (!incomingCallChannel || !incomingCallNotificationTextGetters) {
|
|
181
|
+
const logger = videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler');
|
|
182
|
+
logger.error("Can't show incoming call notification as either or both incomingCallChannel and incomingCallNotificationTextGetters were not provided");
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
/*
|
|
186
|
+
* Sound has to be set on channel level for android 8 and above and cant be updated later after creation!
|
|
187
|
+
* For android 7 and below, sound should be set on notification level
|
|
188
|
+
*/
|
|
189
|
+
// set default ringtone if not provided
|
|
190
|
+
if (!incomingCallChannel.sound) {
|
|
191
|
+
incomingCallChannel.sound = await getAndroidDefaultRingtoneUrl();
|
|
192
|
+
}
|
|
193
|
+
await notifee.createChannel(incomingCallChannel);
|
|
194
|
+
const {
|
|
195
|
+
getTitle,
|
|
196
|
+
getBody,
|
|
197
|
+
getAcceptButtonTitle,
|
|
198
|
+
getDeclineButtonTitle
|
|
199
|
+
} = incomingCallNotificationTextGetters;
|
|
200
|
+
const createdUserName = data.created_by_display_name;
|
|
201
|
+
const title = getTitle(createdUserName);
|
|
202
|
+
const body = getBody(createdUserName);
|
|
203
|
+
videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Displaying incoming call notification with callCid: ${call_cid} title: ${title} body: ${body} asForegroundService: ${asForegroundService}`);
|
|
204
|
+
const channelId = incomingCallChannel.id;
|
|
205
|
+
await notifee.displayNotification({
|
|
206
|
+
id: call_cid,
|
|
207
|
+
title: getTitle(createdUserName),
|
|
208
|
+
body: getBody(createdUserName),
|
|
209
|
+
data,
|
|
210
|
+
android: {
|
|
211
|
+
channelId,
|
|
212
|
+
smallIcon: pushConfig.android.smallIcon,
|
|
213
|
+
importance: 4,
|
|
214
|
+
// high importance
|
|
215
|
+
foregroundServiceTypes: getIncomingCallForegroundServiceTypes(),
|
|
216
|
+
asForegroundService,
|
|
217
|
+
ongoing: true,
|
|
218
|
+
sound: incomingCallChannel.sound,
|
|
219
|
+
vibrationPattern: incomingCallChannel.vibrationPattern,
|
|
220
|
+
loopSound: true,
|
|
221
|
+
pressAction: {
|
|
222
|
+
id: 'default',
|
|
223
|
+
launchActivity: 'default' // open the app when the notification is pressed
|
|
224
|
+
},
|
|
225
|
+
actions: [{
|
|
226
|
+
title: getDeclineButtonTitle?.() ?? 'Decline',
|
|
227
|
+
pressAction: {
|
|
228
|
+
id: DECLINE_CALL_ACTION_ID
|
|
229
|
+
}
|
|
230
|
+
}, {
|
|
231
|
+
title: getAcceptButtonTitle?.() ?? 'Accept',
|
|
232
|
+
pressAction: {
|
|
233
|
+
id: ACCEPT_CALL_ACTION_ID,
|
|
234
|
+
launchActivity: 'default' // open the app when the notification is pressed
|
|
235
|
+
}
|
|
236
|
+
}],
|
|
237
|
+
category: notifeeLib.AndroidCategory.CALL,
|
|
238
|
+
fullScreenAction: {
|
|
239
|
+
id: 'stream_ringing_incoming_call'
|
|
240
|
+
},
|
|
241
|
+
timeoutAfter: 60000 // 60 seconds, after which the notification will be dismissed automatically
|
|
242
|
+
}
|
|
243
|
+
});
|
|
234
244
|
if (asForegroundService) {
|
|
235
245
|
// no need to check if call has be closed as that will be handled by the fg service
|
|
236
246
|
return;
|
|
237
247
|
}
|
|
248
|
+
|
|
249
|
+
// check if call needs to be closed if accept/decline event was done
|
|
250
|
+
// before the notification was shown
|
|
251
|
+
const client = await pushConfig.createStreamVideoClient();
|
|
252
|
+
if (!client) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
238
255
|
const callFromPush = await client.onRingingCall(call_cid);
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
} = shouldCallBeClosed(callFromPush, data);
|
|
243
|
-
if (mustEndCall) {
|
|
244
|
-
logger.debug(`Removing incoming call notification immediately with callCid: ${call_cid} as it should be closed`);
|
|
245
|
-
callingx.endCallWithReason(call_cid, endCallReason);
|
|
256
|
+
if (shouldCallBeClosed(callFromPush)) {
|
|
257
|
+
videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Removing incoming call notification immediately with callCid: ${call_cid} as it should be closed`);
|
|
258
|
+
notifee.cancelDisplayedNotification(call_cid);
|
|
246
259
|
}
|
|
247
260
|
} else {
|
|
248
|
-
const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
|
|
249
|
-
const notifee = notifeeLib.default;
|
|
250
|
-
const settings = await notifee.getNotificationSettings();
|
|
251
|
-
if (settings.authorizationStatus !== 1) {
|
|
252
|
-
logger.debug(`Notification permission not granted, unable to post ${data.type} notifications`);
|
|
253
|
-
return;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
261
|
// the other types are call.live_started and call.notification
|
|
257
262
|
const callChannel = pushConfig.android.callChannel;
|
|
258
263
|
const callNotificationTextGetters = pushConfig.android.callNotificationTextGetters;
|
|
259
264
|
if (!callChannel || !callNotificationTextGetters) {
|
|
265
|
+
const logger = videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler');
|
|
260
266
|
logger.debug("Can't show call notification as either or both callChannel and callNotificationTextGetters is not provided");
|
|
261
267
|
return;
|
|
262
268
|
}
|
|
@@ -271,10 +277,10 @@ export const firebaseDataHandler = async data => {
|
|
|
271
277
|
const type = data.type;
|
|
272
278
|
const title = getTitle(type, createdUserName);
|
|
273
279
|
const body = getBody(type, createdUserName);
|
|
274
|
-
|
|
280
|
+
videoLoggerSystem.getLogger('firebaseMessagingOnMessageHandler').debug(`Displaying NonRingingPushEvent ${type} notification with title: ${title} body: ${body}`);
|
|
275
281
|
await notifee.displayNotification({
|
|
276
|
-
title,
|
|
277
|
-
body,
|
|
282
|
+
title: getTitle(type, createdUserName),
|
|
283
|
+
body: getBody(type, createdUserName),
|
|
278
284
|
data,
|
|
279
285
|
android: {
|
|
280
286
|
sound: callChannel.sound,
|
|
@@ -298,7 +304,8 @@ export const firebaseDataHandler = async data => {
|
|
|
298
304
|
}
|
|
299
305
|
};
|
|
300
306
|
export const onAndroidNotifeeEvent = async ({
|
|
301
|
-
event
|
|
307
|
+
event,
|
|
308
|
+
isBackground
|
|
302
309
|
}) => {
|
|
303
310
|
if (Platform.OS !== 'android') return;
|
|
304
311
|
const {
|
|
@@ -306,7 +313,8 @@ export const onAndroidNotifeeEvent = async ({
|
|
|
306
313
|
detail
|
|
307
314
|
} = event;
|
|
308
315
|
const {
|
|
309
|
-
notification
|
|
316
|
+
notification,
|
|
317
|
+
pressAction
|
|
310
318
|
} = detail;
|
|
311
319
|
const notificationId = notification?.id;
|
|
312
320
|
const data = notification?.data;
|
|
@@ -317,10 +325,53 @@ export const onAndroidNotifeeEvent = async ({
|
|
|
317
325
|
|
|
318
326
|
// we can safely cast to string because the data is from "stream.video"
|
|
319
327
|
const call_cid = data.call_cid;
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
328
|
+
if (data.type === 'call.ring') {
|
|
329
|
+
// check if we have observers for the call cid (this means the app is in the foreground state)
|
|
330
|
+
const hasObservers = pushAcceptedIncomingCallCId$.observed && pushRejectedIncomingCallCId$.observed;
|
|
331
|
+
const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
|
|
332
|
+
const notifee = notifeeLib.default;
|
|
333
|
+
// Check if we need to decline the call
|
|
334
|
+
const didPressDecline = type === notifeeLib.EventType.ACTION_PRESS && pressAction?.id === DECLINE_CALL_ACTION_ID;
|
|
335
|
+
const didDismiss = type === notifeeLib.EventType.DISMISSED;
|
|
336
|
+
const mustDecline = didPressDecline || didDismiss;
|
|
337
|
+
// Check if we need to accept the call
|
|
338
|
+
const mustAccept = type === notifeeLib.EventType.ACTION_PRESS && pressAction?.id === ACCEPT_CALL_ACTION_ID;
|
|
339
|
+
if (mustAccept || mustDecline || type === notifeeLib.EventType.ACTION_PRESS) {
|
|
340
|
+
videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`clearPushWSEventSubscriptions for callCId: ${call_cid} mustAccept: ${mustAccept} mustDecline: ${mustDecline}`);
|
|
341
|
+
clearPushWSEventSubscriptions(call_cid);
|
|
342
|
+
notifee.stopForegroundService();
|
|
343
|
+
}
|
|
344
|
+
if (mustAccept) {
|
|
345
|
+
videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushAcceptedIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
346
|
+
pushAcceptedIncomingCallCId$.next(call_cid);
|
|
347
|
+
// NOTE: accept will be handled by the app with rxjs observers as the app will go to foreground always
|
|
348
|
+
} else if (mustDecline) {
|
|
349
|
+
videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushRejectedIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
350
|
+
pushRejectedIncomingCallCId$.next(call_cid);
|
|
351
|
+
if (hasObservers) {
|
|
352
|
+
// if we had observers we can return here as the observers will handle the call as the app is in the foreground state
|
|
353
|
+
videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`Skipped processCallFromPushInBackground for Declining call with callCId: ${call_cid} as the app is in the foreground state`);
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`start processCallFromPushInBackground - Declining call with callCId: ${call_cid}`);
|
|
357
|
+
await processCallFromPushInBackground(pushConfig, call_cid, 'decline');
|
|
358
|
+
} else {
|
|
359
|
+
if (type === notifeeLib.EventType.PRESS) {
|
|
360
|
+
videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushTappedIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
361
|
+
pushTappedIncomingCallCId$.next(call_cid);
|
|
362
|
+
// pressed state will be handled by the app with rxjs observers as the app will go to foreground always
|
|
363
|
+
} else if (isBackground && type === notifeeLib.EventType.DELIVERED) {
|
|
364
|
+
videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`pushAndroidBackgroundDeliveredIncomingCallCId$ added with callCId: ${call_cid}`);
|
|
365
|
+
pushAndroidBackgroundDeliveredIncomingCallCId$.next(call_cid);
|
|
366
|
+
// background delivered state will be handled by the app with rxjs observers as processing needs to happen only when app is opened
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
} else {
|
|
370
|
+
const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
|
|
371
|
+
if (type === notifeeLib.EventType.PRESS) {
|
|
372
|
+
videoLoggerSystem.getLogger('onAndroidNotifeeEvent').debug(`onTapNonRingingCallNotification with callCId: ${call_cid}`);
|
|
373
|
+
pushConfig.onTapNonRingingCallNotification?.(call_cid, data.type);
|
|
374
|
+
}
|
|
324
375
|
}
|
|
325
376
|
};
|
|
326
377
|
//# sourceMappingURL=android.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CallingState","videoLoggerSystem","AppState","Platform","getExpoNotificationsLib","getExpoNotificationsLibNoThrow","getFirebaseMessagingLib","getFirebaseMessagingLibNoThrow","getNotifeeLibThrowIfNotInstalledForPush","pushNonRingingCallData$","pushUnsubscriptionCallbacks","canListenToWS","shouldCallBeClosed","setPushLogoutCallback","StreamVideoRN","getCallingxLib","lastFirebaseToken","token","userId","initAndroidPushToken","client","pushConfig","setUnsubscribeListener","OS","android","pushProviderName","logger","getLogger","setDeviceToken","streamClient","_user","id","anonymous","debug","removeDevice","err","warn","push_provider_name","addDevice","isExpo","expoNotificationsLib","onTapNonRingingCallNotification","subscription","addPushTokenListener","devicePushToken","data","remove","getDevicePushTokenAsync","messaging","unsubscribe","onTokenRefresh","refreshedToken","getToken","firebaseDataHandler","getConfig","push","sender","type","call_cid","callingx","canPostNotifications","createStreamVideoClient","shouldRejectCallWhenBusy","hasRegisteredCall","asForegroundService","callerName","created_by_display_name","hasVideo","video","registerBackgroundTask","_","stopTask","Promise","resolve","finishBackgroundTask","log","undefined","_client","callFromPush","onRingingCall","mustEndCall","endCallReason","endCallWithReason","unsubscribeFunctions","on","event","_canListenToWS","forEach","fn","mustEndCallFromEvent","endCallReasonFromEvent","stateSubscription","state","callingState$","subscribe","callingState","IDLE","LEFT","endCallSubscription","addEventListener","callId","leave","reject","reason","error","appStateSubscription","nextAppState","get","cb","set","displayIncomingCall","notifeeLib","notifee","default","settings","getNotificationSettings","authorizationStatus","callChannel","callNotificationTextGetters","createChannel","channelId","getTitle","getBody","createdUserName","title","body","displayNotification","sound","smallIcon","vibrationPattern","importance","pressAction","launchActivity","timeoutAfter","cid","next","onAndroidNotifeeEvent","detail","notification","notificationId","EventType","PRESS"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CallingState","videoLoggerSystem","AppState","Platform","getExpoNotificationsLib","getExpoNotificationsLibNoThrow","getFirebaseMessagingLib","getFirebaseMessagingLibNoThrow","getIncomingCallForegroundServiceTypes","getNotifeeLibThrowIfNotInstalledForPush","pushAcceptedIncomingCallCId$","pushAndroidBackgroundDeliveredIncomingCallCId$","pushNonRingingCallData$","pushRejectedIncomingCallCId$","pushTappedIncomingCallCId$","pushUnsubscriptionCallbacks","canAddPushWSSubscriptionsRef","clearPushWSEventSubscriptions","processCallFromPushInBackground","shouldCallBeEnded","setPushLogoutCallback","getAndroidDefaultRingtoneUrl","StreamVideoRN","ACCEPT_CALL_ACTION_ID","DECLINE_CALL_ACTION_ID","lastFirebaseToken","token","userId","initAndroidPushToken","client","pushConfig","setUnsubscribeListener","OS","android","pushProviderName","logger","getLogger","setDeviceToken","streamClient","_user","id","anonymous","debug","removeDevice","err","warn","push_provider_name","addDevice","isExpo","expoNotificationsLib","onTapNonRingingCallNotification","subscription","addPushTokenListener","devicePushToken","data","remove","getDevicePushTokenAsync","messaging","incomingCallChannel","unsubscribe","onTokenRefresh","refreshedToken","getToken","firebaseDataHandler","getConfig","push","sender","notifeeLib","notifee","default","settings","getNotificationSettings","authorizationStatus","type","call_cid","created_by_id","receiver_id","video_client","createStreamVideoClient","onRingingCall","shouldCallBeClosed","callToCheck","mustEndCall","canListenToWS","current","currentState","asForegroundService","registerForegroundService","Promise","stopForegroundService","callFromPush","_shouldCallBeClosed","unsubscribeFunctions","on","event","_canListenToWS","forEach","fn","state","callingState$","subscribe","callingState","IDLE","LEFT","get","cb","set","incomingCallNotificationTextGetters","error","sound","createChannel","getTitle","getBody","getAcceptButtonTitle","getDeclineButtonTitle","createdUserName","created_by_display_name","title","body","channelId","displayNotification","smallIcon","importance","foregroundServiceTypes","ongoing","vibrationPattern","loopSound","pressAction","launchActivity","actions","category","AndroidCategory","CALL","fullScreenAction","timeoutAfter","cancelDisplayedNotification","callChannel","callNotificationTextGetters","cid","next","onAndroidNotifeeEvent","isBackground","detail","notification","notificationId","hasObservers","observed","didPressDecline","EventType","ACTION_PRESS","didDismiss","DISMISSED","mustDecline","mustAccept","PRESS","DELIVERED"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Platform } from 'react-native';
|
|
1
|
+
import { AppState, NativeModules, Platform } from 'react-native';
|
|
2
|
+
import { getCallKeepLib, getVoipPushNotificationLib } from '../libs';
|
|
3
|
+
import { voipPushNotificationCallCId$ } from './rxSubjects';
|
|
2
4
|
import { pushUnsubscriptionCallbacks } from './constants';
|
|
3
|
-
import {
|
|
5
|
+
import { canAddPushWSSubscriptionsRef, shouldCallBeEnded } from './utils';
|
|
4
6
|
import { videoLoggerSystem } from '@stream-io/video-client';
|
|
5
|
-
import { getCallingxLib } from '../libs/callingx';
|
|
6
7
|
export const onVoipNotificationReceived = async (notification, pushConfig) => {
|
|
7
8
|
/* --- Example payload ---
|
|
8
9
|
{
|
|
@@ -26,7 +27,6 @@ export const onVoipNotificationReceived = async (notification, pushConfig) => {
|
|
|
26
27
|
"version": "v2"
|
|
27
28
|
}
|
|
28
29
|
} */
|
|
29
|
-
const logger = videoLoggerSystem.getLogger('callingx - onVoipNotificationReceived');
|
|
30
30
|
const sender = notification?.stream?.sender;
|
|
31
31
|
const type = notification?.stream?.type;
|
|
32
32
|
// do not process any other notifications other than stream.video or ringing
|
|
@@ -37,31 +37,47 @@ export const onVoipNotificationReceived = async (notification, pushConfig) => {
|
|
|
37
37
|
if (!call_cid || Platform.OS !== 'ios' || !pushConfig.ios.pushProviderName) {
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
-
const
|
|
41
|
-
if (callingx.isCallTracked(call_cid)) {
|
|
42
|
-
//same call_cid is already tracked, so we skip the notification
|
|
43
|
-
logger.debug(`the same call_cid ${call_cid} is already tracked, skipping the call.ring notification`);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
40
|
+
const logger = videoLoggerSystem.getLogger('setupIosVoipPushEvents');
|
|
46
41
|
const client = await pushConfig.createStreamVideoClient();
|
|
47
42
|
if (!client) {
|
|
48
43
|
logger.debug('client not found, not processing call.ring voip push notification');
|
|
49
44
|
return;
|
|
50
45
|
}
|
|
46
|
+
const shouldRejectCallWhenBusy = client['rejectCallWhenBusy'] ?? false;
|
|
47
|
+
if (shouldRejectCallWhenBusy) {
|
|
48
|
+
// inform the iOS native module that we should reject call when busy
|
|
49
|
+
NativeModules.StreamVideoReactNative.setShouldRejectCallWhenBusy(shouldRejectCallWhenBusy);
|
|
50
|
+
}
|
|
51
51
|
const callFromPush = await client.onRingingCall(call_cid);
|
|
52
|
+
let uuid = '';
|
|
53
|
+
try {
|
|
54
|
+
uuid = await NativeModules?.StreamVideoReactNative?.getIncomingCallUUid(call_cid);
|
|
55
|
+
} catch (error) {
|
|
56
|
+
logger.error('Error in getting call uuid from native module', error);
|
|
57
|
+
}
|
|
58
|
+
if (!uuid) {
|
|
59
|
+
logger.error(`Not processing call.ring push notification, as no uuid found for call_cid: ${call_cid}`);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const created_by_id = notification?.stream?.created_by_id;
|
|
63
|
+
const receiver_id = notification?.stream?.receiver_id;
|
|
52
64
|
function closeCallIfNecessary() {
|
|
53
65
|
const {
|
|
54
66
|
mustEndCall,
|
|
55
|
-
|
|
56
|
-
} =
|
|
67
|
+
callkeepReason
|
|
68
|
+
} = shouldCallBeEnded(callFromPush, created_by_id, receiver_id);
|
|
57
69
|
if (mustEndCall) {
|
|
58
|
-
|
|
59
|
-
|
|
70
|
+
const callkeep = getCallKeepLib();
|
|
71
|
+
logger.debug(`callkeep.reportEndCallWithUUID for uuid: ${uuid}, call_cid: ${call_cid}, reason: ${callkeepReason}`);
|
|
72
|
+
callkeep.reportEndCallWithUUID(uuid, callkeepReason);
|
|
73
|
+
const voipPushNotification = getVoipPushNotificationLib();
|
|
74
|
+
voipPushNotification.onVoipNotificationCompleted(uuid);
|
|
60
75
|
return true;
|
|
61
76
|
}
|
|
62
77
|
return false;
|
|
63
78
|
}
|
|
64
79
|
const closed = closeCallIfNecessary();
|
|
80
|
+
const canListenToWS = () => canAddPushWSSubscriptionsRef.current && AppState.currentState !== 'active';
|
|
65
81
|
if (!closed && canListenToWS()) {
|
|
66
82
|
const unsubscribe = callFromPush.on('all', event => {
|
|
67
83
|
const _canListenToWS = canListenToWS();
|
|
@@ -79,8 +95,9 @@ export const onVoipNotificationReceived = async (notification, pushConfig) => {
|
|
|
79
95
|
pushUnsubscriptionCallbacks.get(call_cid)?.forEach(cb => cb());
|
|
80
96
|
pushUnsubscriptionCallbacks.set(call_cid, [unsubscribe]);
|
|
81
97
|
}
|
|
82
|
-
|
|
83
|
-
//
|
|
84
|
-
logger.debug(`call_cid:${call_cid} received and processed from call.ring push notification`);
|
|
98
|
+
// send the info to this subject, it is listened by callkeep events
|
|
99
|
+
// callkeep events will then accept/reject the call
|
|
100
|
+
logger.debug(`call_cid:${call_cid} uuid:${uuid} received and processed from call.ring push notification`);
|
|
101
|
+
voipPushNotificationCallCId$.next(call_cid);
|
|
85
102
|
};
|
|
86
103
|
//# sourceMappingURL=ios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","
|
|
1
|
+
{"version":3,"names":["AppState","NativeModules","Platform","getCallKeepLib","getVoipPushNotificationLib","voipPushNotificationCallCId$","pushUnsubscriptionCallbacks","canAddPushWSSubscriptionsRef","shouldCallBeEnded","videoLoggerSystem","onVoipNotificationReceived","notification","pushConfig","sender","stream","type","call_cid","OS","ios","pushProviderName","logger","getLogger","client","createStreamVideoClient","debug","shouldRejectCallWhenBusy","StreamVideoReactNative","setShouldRejectCallWhenBusy","callFromPush","onRingingCall","uuid","getIncomingCallUUid","error","created_by_id","receiver_id","closeCallIfNecessary","mustEndCall","callkeepReason","callkeep","reportEndCallWithUUID","voipPushNotification","onVoipNotificationCompleted","closed","canListenToWS","current","currentState","unsubscribe","on","event","_canListenToWS","_closed","get","forEach","cb","set","next"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/ios.ts"],"mappings":"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","ignoreList":[]}
|