@stream-io/video-react-native-sdk 1.2.16 → 1.3.1
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 +1609 -0
- package/dist/commonjs/components/Call/CallControls/IncomingCallControls.js +2 -1
- package/dist/commonjs/components/Call/CallControls/IncomingCallControls.js.map +1 -1
- package/dist/commonjs/components/Call/CallControls/OutgoingCallControls.js +4 -3
- package/dist/commonjs/components/Call/CallControls/OutgoingCallControls.js.map +1 -1
- package/dist/commonjs/components/Call/CallControls/RejectCallButton.js +7 -4
- package/dist/commonjs/components/Call/CallControls/RejectCallButton.js.map +1 -1
- package/dist/commonjs/hooks/push/useIosCallKeepEventsSetupEffect.js +43 -6
- package/dist/commonjs/hooks/push/useIosCallKeepEventsSetupEffect.js.map +1 -1
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +1 -1
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +2 -2
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js +2 -7
- package/dist/commonjs/hooks/push/useProcessPushCallEffect.js.map +1 -1
- package/dist/commonjs/hooks/push/useProcessPushNonRingingCallEffect.js +3 -3
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +1 -0
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/commonjs/providers/StreamCall.js +1 -1
- package/dist/commonjs/utils/StreamVideoRN/index.js +5 -6
- package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/commonjs/utils/index.js +12 -0
- package/dist/commonjs/utils/index.js.map +1 -1
- package/dist/commonjs/utils/push/android.js +23 -79
- package/dist/commonjs/utils/push/android.js.map +1 -1
- package/dist/commonjs/utils/push/index.js +39 -0
- package/dist/commonjs/utils/push/index.js.map +1 -0
- package/dist/commonjs/utils/push/internal/rxSubjects.js.map +1 -0
- package/dist/commonjs/utils/push/internal/utils.js +158 -0
- package/dist/commonjs/utils/push/internal/utils.js.map +1 -0
- package/dist/commonjs/utils/push/ios.js +43 -84
- package/dist/commonjs/utils/push/ios.js.map +1 -1
- package/dist/commonjs/utils/push/libs/expoNotifications.js.map +1 -1
- package/dist/commonjs/utils/push/libs/index.js +0 -11
- package/dist/commonjs/utils/push/libs/index.js.map +1 -1
- package/dist/commonjs/utils/push/libs/iosPushNotification.js.map +1 -1
- package/dist/commonjs/utils/push/utils.js +29 -150
- package/dist/commonjs/utils/push/utils.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/commonjs/version.js.map +1 -1
- package/dist/module/components/Call/CallControls/IncomingCallControls.js +2 -1
- package/dist/module/components/Call/CallControls/IncomingCallControls.js.map +1 -1
- package/dist/module/components/Call/CallControls/OutgoingCallControls.js +4 -3
- package/dist/module/components/Call/CallControls/OutgoingCallControls.js.map +1 -1
- package/dist/module/components/Call/CallControls/RejectCallButton.js +7 -4
- package/dist/module/components/Call/CallControls/RejectCallButton.js.map +1 -1
- package/dist/module/hooks/push/useIosCallKeepEventsSetupEffect.js +41 -4
- package/dist/module/hooks/push/useIosCallKeepEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +1 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -1
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +2 -2
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/push/useProcessPushCallEffect.js +2 -7
- package/dist/module/hooks/push/useProcessPushCallEffect.js.map +1 -1
- package/dist/module/hooks/push/useProcessPushNonRingingCallEffect.js +3 -3
- package/dist/module/hooks/push/useProcessPushNonRingingCallEffect.js.map +1 -1
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +1 -0
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/module/providers/StreamCall.js +1 -1
- package/dist/module/providers/StreamCall.js.map +1 -1
- package/dist/module/utils/StreamVideoRN/index.js +5 -6
- package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/module/utils/index.js +1 -0
- package/dist/module/utils/index.js.map +1 -1
- package/dist/module/utils/push/android.js +20 -79
- package/dist/module/utils/push/android.js.map +1 -1
- package/dist/module/utils/push/index.js +4 -0
- package/dist/module/utils/push/index.js.map +1 -0
- package/dist/module/utils/push/internal/rxSubjects.js.map +1 -0
- package/dist/module/utils/push/internal/utils.js +147 -0
- package/dist/module/utils/push/internal/utils.js.map +1 -0
- package/dist/module/utils/push/ios.js +40 -81
- package/dist/module/utils/push/ios.js.map +1 -1
- package/dist/module/utils/push/libs/expoNotifications.js.map +1 -1
- package/dist/module/utils/push/libs/index.js +0 -1
- package/dist/module/utils/push/libs/index.js.map +1 -1
- package/dist/module/utils/push/libs/iosPushNotification.js.map +1 -1
- package/dist/module/utils/push/utils.js +25 -144
- package/dist/module/utils/push/utils.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/module/version.js.map +1 -1
- package/dist/typescript/components/Call/CallControls/IncomingCallControls.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/OutgoingCallControls.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/RejectCallButton.d.ts +17 -2
- package/dist/typescript/components/Call/CallControls/RejectCallButton.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useIosCallKeepEventsSetupEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/types.d.ts +6 -4
- package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
- package/dist/typescript/utils/index.d.ts +1 -0
- package/dist/typescript/utils/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/android.d.ts +12 -2
- package/dist/typescript/utils/push/android.d.ts.map +1 -1
- package/dist/typescript/utils/push/index.d.ts +4 -0
- package/dist/typescript/utils/push/index.d.ts.map +1 -0
- package/dist/typescript/utils/push/{rxSubjects.d.ts → internal/rxSubjects.d.ts} +1 -1
- package/dist/typescript/utils/push/internal/rxSubjects.d.ts.map +1 -0
- package/dist/typescript/utils/push/internal/utils.d.ts +43 -0
- package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -0
- package/dist/typescript/utils/push/ios.d.ts +8 -3
- package/dist/typescript/utils/push/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/expoNotifications.d.ts +2 -0
- package/dist/typescript/utils/push/libs/expoNotifications.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/index.d.ts +0 -1
- package/dist/typescript/utils/push/libs/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/iosPushNotification.d.ts +2 -0
- package/dist/typescript/utils/push/libs/iosPushNotification.d.ts.map +1 -1
- package/dist/typescript/utils/push/utils.d.ts +14 -42
- package/dist/typescript/utils/push/utils.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/dist/typescript/version.d.ts.map +1 -1
- package/package.json +6 -11
- package/src/components/Call/CallControls/IncomingCallControls.tsx +4 -1
- package/src/components/Call/CallControls/OutgoingCallControls.tsx +3 -2
- package/src/components/Call/CallControls/RejectCallButton.tsx +19 -3
- package/src/hooks/push/useIosCallKeepEventsSetupEffect.ts +62 -6
- package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +1 -1
- package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +2 -2
- package/src/hooks/push/useProcessPushCallEffect.ts +2 -7
- package/src/hooks/push/useProcessPushNonRingingCallEffect.ts +3 -3
- package/src/hooks/useAndroidKeepCallAliveEffect.ts +1 -0
- package/src/providers/StreamCall.tsx +1 -1
- package/src/utils/StreamVideoRN/index.ts +11 -6
- package/src/utils/StreamVideoRN/types.ts +6 -4
- package/src/utils/index.ts +1 -0
- package/src/utils/push/android.ts +28 -99
- package/src/utils/push/index.ts +3 -0
- package/src/utils/push/{rxSubjects.ts → internal/rxSubjects.ts} +1 -1
- package/src/utils/push/internal/utils.ts +178 -0
- package/src/utils/push/ios.ts +49 -115
- package/src/utils/push/libs/expoNotifications.ts +4 -0
- package/src/utils/push/libs/index.ts +0 -1
- package/src/utils/push/libs/iosPushNotification.ts +4 -0
- package/src/utils/push/utils.ts +44 -175
- package/src/version.ts +1 -1
- package/dist/commonjs/utils/push/libs/expoTaskManager.js +0 -17
- package/dist/commonjs/utils/push/libs/expoTaskManager.js.map +0 -1
- package/dist/commonjs/utils/push/rxSubjects.js.map +0 -1
- package/dist/module/utils/push/libs/expoTaskManager.js +0 -11
- package/dist/module/utils/push/libs/expoTaskManager.js.map +0 -1
- package/dist/module/utils/push/rxSubjects.js.map +0 -1
- package/dist/typescript/utils/push/libs/expoTaskManager.d.ts +0 -3
- package/dist/typescript/utils/push/libs/expoTaskManager.d.ts.map +0 -1
- package/dist/typescript/utils/push/rxSubjects.d.ts.map +0 -1
- package/ios/StreamVideoReactNative.xcodeproj/project.xcworkspace/xcuserdata/santhoshvaiyapuri.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/StreamVideoReactNative.xcodeproj/xcuserdata/santhoshvaiyapuri.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/src/utils/push/libs/expoTaskManager.ts +0 -16
- /package/dist/commonjs/utils/push/{rxSubjects.js → internal/rxSubjects.js} +0 -0
- /package/dist/module/utils/push/{rxSubjects.js → internal/rxSubjects.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StreamCallProvider","useCall","React","useEffect","useRef","useIosCallkeepWithCallingStateEffect","canAddPushWSSubscriptionsRef","clearPushWSEventSubscriptions","useAndroidKeepCallAliveEffect","AppState","NativeModules","Platform","shouldDisableIOSLocalVideoOnBackgroundRef","StreamCall","call","children","createElement","AppStateListener","AndroidKeepCallAlive","IosInformCallkeepCallEnd","ClearPushWSSubscriptions","appState","currentState","subscription","addEventListener","nextAppState","current","match","camera","state","status","OS","disable","then","enable","resume","StreamVideoReactNative","isInPiPMode","isInPiP","remove"],"sourceRoot":"../../../src","sources":["providers/StreamCall.tsx"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,OAAO,QAAQ,iCAAiC;AAC7E,OAAOC,KAAK,IAAuBC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEnE,SAASC,oCAAoC,QAAQ,oDAAoD;AACzG,SACEC,4BAA4B,EAC5BC,6BAA6B,QACxB,
|
|
1
|
+
{"version":3,"names":["StreamCallProvider","useCall","React","useEffect","useRef","useIosCallkeepWithCallingStateEffect","canAddPushWSSubscriptionsRef","clearPushWSEventSubscriptions","useAndroidKeepCallAliveEffect","AppState","NativeModules","Platform","shouldDisableIOSLocalVideoOnBackgroundRef","StreamCall","call","children","createElement","AppStateListener","AndroidKeepCallAlive","IosInformCallkeepCallEnd","ClearPushWSSubscriptions","appState","currentState","subscription","addEventListener","nextAppState","current","match","camera","state","status","OS","disable","then","enable","resume","StreamVideoReactNative","isInPiPMode","isInPiP","remove"],"sourceRoot":"../../../src","sources":["providers/StreamCall.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { setupFirebaseHandlerAndroid } from '../push/android';
|
|
2
1
|
import pushLogoutCallbacks from '../internal/pushLogoutCallback';
|
|
3
|
-
import { setupRemoteNotificationsHandleriOS } from '../push/ios';
|
|
4
2
|
import newNotificationCallbacks from '../internal/newNotificationCallbacks';
|
|
5
3
|
const DEFAULT_STREAM_VIDEO_CONFIG = {
|
|
6
4
|
foregroundService: {
|
|
@@ -56,11 +54,12 @@ export class StreamVideoRN {
|
|
|
56
54
|
// Ignoring this config as push config was already set
|
|
57
55
|
return;
|
|
58
56
|
}
|
|
57
|
+
if (__DEV__ && (pushConfig.navigateAcceptCall || pushConfig.navigateToIncomingCall)) {
|
|
58
|
+
throw new Error(`Support for navigateAcceptCall or navigateToIncomingCall in pushConfig has been removed.
|
|
59
|
+
Please watch for incoming and outgoing calls in the root component of your app.
|
|
60
|
+
Please see https://getstream.io/video/docs/react-native/advanced/ringing-calls/#watch-for-incoming-and-outgoing-calls for more information.`);
|
|
61
|
+
}
|
|
59
62
|
this.config.push = pushConfig;
|
|
60
|
-
// After getting the config we should setup callkeep events, firebase handler asap to handle incoming calls from a dead state
|
|
61
|
-
setupFirebaseHandlerAndroid(pushConfig);
|
|
62
|
-
// setup ios handler for non-voip push notifications asap
|
|
63
|
-
setupRemoteNotificationsHandleriOS(pushConfig);
|
|
64
63
|
}
|
|
65
64
|
static getConfig() {
|
|
66
65
|
return this.config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["pushLogoutCallbacks","newNotificationCallbacks","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","notificationTexts","title","body","StreamVideoRN","config","updateConfig","updateAndroidIncomingCallChannel","updateChannel","prevChannel","push","incomingCallChannel","setPushConfig","pushConfig","__DEV__","navigateAcceptCall","navigateToIncomingCall","Error","getConfig","onPushLogout","current","Promise","all","map","callback","then","resolve","addOnNewCallNotificationListener","filter","cb"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"AACA,OAAOA,mBAAmB,MAAM,gCAAgC;AAChE,OAAOC,wBAAwB,MAExB,sCAAsC;AAE7C,MAAMC,2BAA8C,GAAG;EACrDC,iBAAiB,EAAE;IACjBC,OAAO,EAAE;MACPC,iBAAiB,EAAE;QACjBC,KAAK,EAAE,kBAAkB;QACzBC,IAAI,EAAE;MACR;IACF;EACF;AACF,CAAC;AAED,OAAO,MAAMC,aAAa,CAAC;EACzB,OAAeC,MAAM,GAAGP,2BAA2B;;EAEnD;AACF;AACA;AACA;AACA;EACE,OAAOQ,YAAYA,CAACA,YAAsD,EAAE;IAC1E,IAAI,CAACD,MAAM,GAAG;MACZ,GAAG,IAAI,CAACA,MAAM;MACd,GAAGC;IACL,CAAC;EACH;EAEA,OAAOC,gCAAgCA,CACrCC,aAEC,EACD;IACA,MAAMC,WAAW,GAAG,IAAI,CAACJ,MAAM,CAACK,IAAI,EAAEV,OAAO,EAAEW,mBAAmB;IAClE,IAAIF,WAAW,EAAE;MACf,IAAI,CAACJ,MAAM,CAACK,IAAI,CAAEV,OAAO,CAACW,mBAAmB,GAAG;QAC9C,GAAGF,WAAW;QACd,GAAGD;MACL,CAAC;IACH;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOI,aAAaA,CAACC,UAAkD,EAAE;IACvE,IAAI,IAAI,CAACR,MAAM,CAACK,IAAI,EAAE;MACpB;MACA;IACF;IACA,IACEI,OAAO,KACND,UAAU,CAACE,kBAAkB,IAAIF,UAAU,CAACG,sBAAsB,CAAC,EACpE;MACA,MAAM,IAAIC,KAAK,CACb;AACR;AACA,oJACM,CAAC;IACH;IAEA,IAAI,CAACZ,MAAM,CAACK,IAAI,GAAGG,UAAU;EAC/B;EAEA,OAAOK,SAASA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACb,MAAM;EACpB;;EAEA;AACF;AACA;AACA;EACE,OAAOc,YAAYA,CAAA,EAAG;IACpB,IAAIvB,mBAAmB,CAACwB,OAAO,EAAE;MAC/B,OAAOC,OAAO,CAACC,GAAG,CAChB1B,mBAAmB,CAACwB,OAAO,CAACG,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAC1D,CAAC,CAACC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClB;IACA,OAAOJ,OAAO,CAACK,OAAO,CAAC,CAAC;EAC1B;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOC,gCAAgCA,CACrCH,QAAqC,EACrC;IACA,IAAI,CAAC3B,wBAAwB,CAACuB,OAAO,EAAE;MACrCvB,wBAAwB,CAACuB,OAAO,GAAG,CAACI,QAAQ,CAAC;IAC/C,CAAC,MAAM;MACL3B,wBAAwB,CAACuB,OAAO,CAACV,IAAI,CAACc,QAAQ,CAAC;IACjD;IACA,OAAO,MAAM;MACX3B,wBAAwB,CAACuB,OAAO,GAC9BvB,wBAAwB,CAACuB,OAAO,EAAEQ,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKL,QAAQ,CAAC;IACrE,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["generateCallTitle","memberUserIds","totalMembersToShow","supportedAmountOfMemberUserIds","slice","length","join","allMembersExceptLast","lastMember","generateParticipantTitle","memberUserId","getInitialsOfName","name","names","split","initials","substring","toUpperCase"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA;AACA,OAAO,MAAMA,iBAAiB,GAAGA,CAC/BC,aAAuB,EACvBC,kBAA2B,KACxB;EACH,MAAMC,8BAA8B,GAAGF,aAAa,CAACG,KAAK,CACxD,CAAC,EACDF,kBACF,CAAC;EACD,IACEA,kBAAkB,IAClBC,8BAA8B,CAACE,MAAM,GAAGH,kBAAkB,EAC1D;IACA,OAAOC,8BAA8B,CAACG,IAAI,CAAC,OAAO,CAAC;EACrD;EAEA,MAAMC,oBAAoB,GAAGJ,8BAA8B,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACxE,MAAMI,UAAU,GAAGL,8BAA8B,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9D,OAAO,GAAGG,oBAAoB,CAACD,IAAI,CAAC,IAAI,CAAC,SAASE,UAAU,EAAE;AAChE,CAAC;;AAED;AACA,OAAO,MAAMC,wBAAwB,GAAIC,YAAoB,IAAK;EAChE,OAAOA,YAAY,CAACL,MAAM,GAAG,EAAE,GAC3BK,YAAY,CAACN,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GACjCM,YAAY;AAClB,CAAC;;AAED;AACA,OAAO,MAAMC,iBAAiB,GAAIC,IAAY,IAAK;EACjD,MAAMC,KAAK,GAAGD,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC;EAC7B,IAAIC,QAAQ,GAAIF,KAAK,CAAC,CAAC,CAAC,CAAYG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EACjE,IAAIJ,KAAK,CAACR,MAAM,GAAG,CAAC,EAAE;IACpBU,QAAQ,IAAKF,KAAK,CAACA,KAAK,CAACR,MAAM,GAAG,CAAC,CAAC,CACjCW,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CACfC,WAAW,CAAC,CAAC;EAClB;EACA,OAAOF,QAAQ;AACjB,CAAC;AAED,cAAc,mBAAmB;AACjC,cAAc,iBAAiB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["generateCallTitle","memberUserIds","totalMembersToShow","supportedAmountOfMemberUserIds","slice","length","join","allMembersExceptLast","lastMember","generateParticipantTitle","memberUserId","getInitialsOfName","name","names","split","initials","substring","toUpperCase"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA;AACA,OAAO,MAAMA,iBAAiB,GAAGA,CAC/BC,aAAuB,EACvBC,kBAA2B,KACxB;EACH,MAAMC,8BAA8B,GAAGF,aAAa,CAACG,KAAK,CACxD,CAAC,EACDF,kBACF,CAAC;EACD,IACEA,kBAAkB,IAClBC,8BAA8B,CAACE,MAAM,GAAGH,kBAAkB,EAC1D;IACA,OAAOC,8BAA8B,CAACG,IAAI,CAAC,OAAO,CAAC;EACrD;EAEA,MAAMC,oBAAoB,GAAGJ,8BAA8B,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACxE,MAAMI,UAAU,GAAGL,8BAA8B,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9D,OAAO,GAAGG,oBAAoB,CAACD,IAAI,CAAC,IAAI,CAAC,SAASE,UAAU,EAAE;AAChE,CAAC;;AAED;AACA,OAAO,MAAMC,wBAAwB,GAAIC,YAAoB,IAAK;EAChE,OAAOA,YAAY,CAACL,MAAM,GAAG,EAAE,GAC3BK,YAAY,CAACN,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GACjCM,YAAY;AAClB,CAAC;;AAED;AACA,OAAO,MAAMC,iBAAiB,GAAIC,IAAY,IAAK;EACjD,MAAMC,KAAK,GAAGD,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC;EAC7B,IAAIC,QAAQ,GAAIF,KAAK,CAAC,CAAC,CAAC,CAAYG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EACjE,IAAIJ,KAAK,CAACR,MAAM,GAAG,CAAC,EAAE;IACpBU,QAAQ,IAAKF,KAAK,CAACA,KAAK,CAACR,MAAM,GAAG,CAAC,CAAC,CACjCW,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CACfC,WAAW,CAAC,CAAC;EAClB;EACA,OAAOF,QAAQ;AACjB,CAAC;AAED,cAAc,cAAc;AAC5B,cAAc,mBAAmB;AACjC,cAAc,iBAAiB","ignoreList":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { RxUtils, getLogger } from '@stream-io/video-client';
|
|
2
2
|
import { AppState, Platform } from 'react-native';
|
|
3
|
-
import { getFirebaseMessagingLib,
|
|
4
|
-
import { pushAcceptedIncomingCallCId$, pushRejectedIncomingCallCId$, pushTappedIncomingCallCId$, pushNonRingingCallData$, pushUnsubscriptionCallbacks$, pushAndroidBackgroundDeliveredIncomingCallCId$ } from './rxSubjects';
|
|
5
|
-
import { canAddPushWSSubscriptionsRef, clearPushWSEventSubscriptions, processCallFromPushInBackground, shouldCallBeEnded } from './utils';
|
|
3
|
+
import { getFirebaseMessagingLib, getExpoNotificationsLib, getNotifeeLibThrowIfNotInstalledForPush } from './libs';
|
|
4
|
+
import { pushAcceptedIncomingCallCId$, pushRejectedIncomingCallCId$, pushTappedIncomingCallCId$, pushNonRingingCallData$, pushUnsubscriptionCallbacks$, pushAndroidBackgroundDeliveredIncomingCallCId$ } from './internal/rxSubjects';
|
|
5
|
+
import { canAddPushWSSubscriptionsRef, clearPushWSEventSubscriptions, processCallFromPushInBackground, shouldCallBeEnded } from './internal/utils';
|
|
6
6
|
import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
|
|
7
7
|
import { getAndroidDefaultRingtoneUrl } from '../getAndroidDefaultRingtoneUrl';
|
|
8
|
+
import { StreamVideoRN } from '../StreamVideoRN';
|
|
8
9
|
const ACCEPT_CALL_ACTION_ID = 'accept';
|
|
9
10
|
const DECLINE_CALL_ACTION_ID = 'decline';
|
|
10
11
|
let lastFirebaseToken = {
|
|
@@ -12,77 +13,6 @@ let lastFirebaseToken = {
|
|
|
12
13
|
userId: ''
|
|
13
14
|
};
|
|
14
15
|
|
|
15
|
-
// EventType = NotifeeLib['EventType'];
|
|
16
|
-
|
|
17
|
-
/** Setup Firebase push message handler **/
|
|
18
|
-
export function setupFirebaseHandlerAndroid(pushConfig) {
|
|
19
|
-
if (Platform.OS !== 'android') {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
if (pushConfig.isExpo) {
|
|
23
|
-
const messaging = getFirebaseMessagingLibNoThrow(true);
|
|
24
|
-
if (messaging) {
|
|
25
|
-
// handles on app killed state in expo, expo-notifications cannot handle that
|
|
26
|
-
messaging().setBackgroundMessageHandler(async msg => await firebaseMessagingOnMessageHandler(msg.data, pushConfig));
|
|
27
|
-
messaging().onMessage(msg => firebaseMessagingOnMessageHandler(msg.data, pushConfig)); // this is to listen to foreground messages, which we dont need for now
|
|
28
|
-
} else {
|
|
29
|
-
const Notifications = getExpoNotificationsLib();
|
|
30
|
-
const TaskManager = getExpoTaskManagerLib();
|
|
31
|
-
const BACKGROUND_NOTIFICATION_TASK = 'STREAM-VIDEO-SDK-INTERNAL-BACKGROUND-NOTIFICATION-TASK';
|
|
32
|
-
TaskManager.defineTask(BACKGROUND_NOTIFICATION_TASK, ({
|
|
33
|
-
data,
|
|
34
|
-
error
|
|
35
|
-
}) => {
|
|
36
|
-
if (error) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
const dataToProcess = data.notification?.data;
|
|
41
|
-
firebaseMessagingOnMessageHandler(dataToProcess, pushConfig);
|
|
42
|
-
});
|
|
43
|
-
// background handler (does not handle on app killed state)
|
|
44
|
-
Notifications.registerTaskAsync(BACKGROUND_NOTIFICATION_TASK);
|
|
45
|
-
// foreground handler
|
|
46
|
-
Notifications.setNotificationHandler({
|
|
47
|
-
handleNotification: async notification => {
|
|
48
|
-
// @ts-ignore
|
|
49
|
-
const trigger = notification?.request?.trigger;
|
|
50
|
-
if (trigger.type === 'push') {
|
|
51
|
-
const data = trigger?.remoteMessage?.data;
|
|
52
|
-
if (data?.sender === 'stream.video') {
|
|
53
|
-
await firebaseMessagingOnMessageHandler(data, pushConfig);
|
|
54
|
-
return {
|
|
55
|
-
shouldShowAlert: false,
|
|
56
|
-
shouldPlaySound: false,
|
|
57
|
-
shouldSetBadge: false
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return {
|
|
62
|
-
shouldShowAlert: true,
|
|
63
|
-
shouldPlaySound: false,
|
|
64
|
-
shouldSetBadge: false
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
} else {
|
|
70
|
-
const messaging = getFirebaseMessagingLib();
|
|
71
|
-
messaging().setBackgroundMessageHandler(async msg => await firebaseMessagingOnMessageHandler(msg.data, pushConfig));
|
|
72
|
-
messaging().onMessage(msg => firebaseMessagingOnMessageHandler(msg.data, pushConfig)); // this is to listen to foreground messages, which we dont need for now
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// the notification tap handlers are always registered with notifee for both expo and non-expo in android
|
|
76
|
-
const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
|
|
77
|
-
const notifee = notifeeLib.default;
|
|
78
|
-
notifee.onBackgroundEvent(async event => {
|
|
79
|
-
await onNotifeeEvent(event, pushConfig, true);
|
|
80
|
-
});
|
|
81
|
-
notifee.onForegroundEvent(event => {
|
|
82
|
-
onNotifeeEvent(event, pushConfig, false);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
|
|
86
16
|
/** Send token to stream, create notification channel, */
|
|
87
17
|
export async function initAndroidPushToken(client, pushConfig, setUnsubscribeListener) {
|
|
88
18
|
if (Platform.OS !== 'android' || !pushConfig.android.pushProviderName) {
|
|
@@ -129,7 +59,13 @@ export async function initAndroidPushToken(client, pushConfig, setUnsubscribeLis
|
|
|
129
59
|
await setDeviceToken(token);
|
|
130
60
|
}
|
|
131
61
|
}
|
|
132
|
-
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Creates notification from the push message data.
|
|
65
|
+
* For Ringing and Non-Ringing calls.
|
|
66
|
+
*/
|
|
67
|
+
export const firebaseDataHandler = async data => {
|
|
68
|
+
if (Platform.OS !== 'android') return;
|
|
133
69
|
/* Example data from firebase
|
|
134
70
|
"message": {
|
|
135
71
|
"data": {
|
|
@@ -145,7 +81,8 @@ const firebaseMessagingOnMessageHandler = async (data, pushConfig) => {
|
|
|
145
81
|
// other stuff
|
|
146
82
|
}
|
|
147
83
|
*/
|
|
148
|
-
|
|
84
|
+
const pushConfig = StreamVideoRN.getConfig().push;
|
|
85
|
+
if (!pushConfig || !data || data.sender !== 'stream.video') {
|
|
149
86
|
return;
|
|
150
87
|
}
|
|
151
88
|
if (data.type === 'call.ring') {
|
|
@@ -300,7 +237,11 @@ const firebaseMessagingOnMessageHandler = async (data, pushConfig) => {
|
|
|
300
237
|
});
|
|
301
238
|
}
|
|
302
239
|
};
|
|
303
|
-
const
|
|
240
|
+
export const onAndroidNotifeeEvent = async ({
|
|
241
|
+
event,
|
|
242
|
+
isBackground
|
|
243
|
+
}) => {
|
|
244
|
+
if (Platform.OS !== 'android') return;
|
|
304
245
|
const {
|
|
305
246
|
type,
|
|
306
247
|
detail
|
|
@@ -311,7 +252,8 @@ const onNotifeeEvent = async (event, pushConfig, isBackground) => {
|
|
|
311
252
|
} = detail;
|
|
312
253
|
const notificationId = notification?.id;
|
|
313
254
|
const data = notification?.data;
|
|
314
|
-
|
|
255
|
+
const pushConfig = StreamVideoRN.getConfig().push;
|
|
256
|
+
if (!pushConfig || !data || !notificationId || data.sender !== 'stream.video') {
|
|
315
257
|
return;
|
|
316
258
|
}
|
|
317
259
|
|
|
@@ -354,7 +296,6 @@ const onNotifeeEvent = async (event, pushConfig, isBackground) => {
|
|
|
354
296
|
} else {
|
|
355
297
|
const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
|
|
356
298
|
if (type === notifeeLib.EventType.PRESS) {
|
|
357
|
-
pushTappedIncomingCallCId$.next(call_cid);
|
|
358
299
|
pushConfig.onTapNonRingingCallNotification?.(call_cid, data.type);
|
|
359
300
|
}
|
|
360
301
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RxUtils","getLogger","AppState","Platform","getFirebaseMessagingLib","getFirebaseMessagingLibNoThrow","getExpoNotificationsLib","getExpoTaskManagerLib","getNotifeeLibThrowIfNotInstalledForPush","pushAcceptedIncomingCallCId$","pushRejectedIncomingCallCId$","pushTappedIncomingCallCId$","pushNonRingingCallData$","pushUnsubscriptionCallbacks$","pushAndroidBackgroundDeliveredIncomingCallCId$","canAddPushWSSubscriptionsRef","clearPushWSEventSubscriptions","processCallFromPushInBackground","shouldCallBeEnded","setPushLogoutCallback","getAndroidDefaultRingtoneUrl","ACCEPT_CALL_ACTION_ID","DECLINE_CALL_ACTION_ID","lastFirebaseToken","token","userId","setupFirebaseHandlerAndroid","pushConfig","OS","isExpo","messaging","setBackgroundMessageHandler","msg","firebaseMessagingOnMessageHandler","data","onMessage","Notifications","TaskManager","BACKGROUND_NOTIFICATION_TASK","defineTask","error","dataToProcess","notification","registerTaskAsync","setNotificationHandler","handleNotification","trigger","request","type","remoteMessage","sender","shouldShowAlert","shouldPlaySound","shouldSetBadge","notifeeLib","notifee","default","onBackgroundEvent","event","onNotifeeEvent","onForegroundEvent","initAndroidPushToken","client","setUnsubscribeListener","android","pushProviderName","setDeviceToken","streamClient","_user","id","removeDevice","err","logger","push_provider_name","addDevice","expoNotificationsLib","subscription","addPushTokenListener","devicePushToken","remove","getDevicePushTokenAsync","unsubscribe","onTokenRefresh","refreshedToken","getToken","call_cid","created_by_id","receiver_id","shouldCallBeClosed","callToCheck","mustEndCall","canListenToWS","current","currentState","asForegroundService","registerForegroundService","Promise","createStreamVideoClient","stopForegroundService","callFromPush","onRingingCall","on","unsubscriptionCallbacks","getCurrentValue","next","incomingCallChannel","incomingCallNotificationTextGetters","sound","createChannel","getTitle","getBody","createdUserName","created_by_display_name","channelId","displayNotification","title","body","vibrationPattern","pressAction","launchActivity","actions","category","AndroidCategory","CALL","fullScreenAction","timeoutAfter","cancelDisplayedNotification","callChannel","callNotificationTextGetters","cid","isBackground","detail","notificationId","hasObservers","observed","didPressDecline","EventType","ACTION_PRESS","didDismiss","DISMISSED","mustDecline","mustAccept","PRESS","DELIVERED","onTapNonRingingCallNotification"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["RxUtils","getLogger","AppState","Platform","getFirebaseMessagingLib","getExpoNotificationsLib","getNotifeeLibThrowIfNotInstalledForPush","pushAcceptedIncomingCallCId$","pushRejectedIncomingCallCId$","pushTappedIncomingCallCId$","pushNonRingingCallData$","pushUnsubscriptionCallbacks$","pushAndroidBackgroundDeliveredIncomingCallCId$","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","setDeviceToken","streamClient","_user","id","removeDevice","err","logger","push_provider_name","addDevice","isExpo","expoNotificationsLib","subscription","addPushTokenListener","devicePushToken","data","remove","getDevicePushTokenAsync","messaging","unsubscribe","onTokenRefresh","refreshedToken","getToken","firebaseDataHandler","getConfig","push","sender","type","call_cid","created_by_id","receiver_id","shouldCallBeClosed","callToCheck","mustEndCall","canListenToWS","current","currentState","asForegroundService","notifeeLib","notifee","default","registerForegroundService","Promise","createStreamVideoClient","stopForegroundService","callFromPush","onRingingCall","on","unsubscriptionCallbacks","getCurrentValue","next","incomingCallChannel","incomingCallNotificationTextGetters","sound","createChannel","getTitle","getBody","createdUserName","created_by_display_name","channelId","displayNotification","title","body","vibrationPattern","pressAction","launchActivity","actions","category","AndroidCategory","CALL","fullScreenAction","timeoutAfter","cancelDisplayedNotification","callChannel","callNotificationTextGetters","cid","onAndroidNotifeeEvent","event","isBackground","detail","notification","notificationId","hasObservers","observed","didPressDecline","EventType","ACTION_PRESS","didDismiss","DISMISSED","mustDecline","mustAccept","PRESS","DELIVERED","onTapNonRingingCallNotification"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"AAAA,SAEEA,OAAO,EAEPC,SAAS,QACJ,yBAAyB;AAChC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,cAAc;AAKjD,SACEC,uBAAuB,EACvBC,uBAAuB,EACvBC,uCAAuC,QAGlC,QAAQ;AACf,SACEC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,0BAA0B,EAC1BC,uBAAuB,EACvBC,4BAA4B,EAC5BC,8CAA8C,QACzC,uBAAuB;AAC9B,SACEC,4BAA4B,EAC5BC,6BAA6B,EAC7BC,+BAA+B,EAC/BC,iBAAiB,QACZ,kBAAkB;AACzB,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,4BAA4B,QAAQ,iCAAiC;AAC9E,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,MAAMC,qBAAqB,GAAG,QAAQ;AACtC,MAAMC,sBAAsB,GAAG,SAAS;AAUxC,IAAIC,iBAAiB,GAAG;EAAEC,KAAK,EAAE,EAAE;EAAEC,MAAM,EAAE;AAAG,CAAC;;AAEjD;AACA,OAAO,eAAeC,oBAAoBA,CACxCC,MAAyB,EACzBC,UAAsB,EACtBC,sBAAyD,EACzD;EACA,IAAIzB,QAAQ,CAAC0B,EAAE,KAAK,SAAS,IAAI,CAACF,UAAU,CAACG,OAAO,CAACC,gBAAgB,EAAE;IACrE;EACF;EACA,MAAMC,cAAc,GAAG,MAAOT,KAAa,IAAK;IAC9C,MAAMC,MAAM,GAAGE,MAAM,CAACO,YAAY,CAACC,KAAK,EAAEC,EAAE,IAAI,EAAE;IAClD,IACEb,iBAAiB,CAACC,KAAK,KAAKA,KAAK,IACjCD,iBAAiB,CAACE,MAAM,KAAKA,MAAM,EACnC;MACA;IACF;IACAF,iBAAiB,GAAG;MAAEC,KAAK;MAAEC;IAAO,CAAC;IACrCP,qBAAqB,CAAC,YAAY;MAChCK,iBAAiB,GAAG;QAAEC,KAAK,EAAE,EAAE;QAAEC,MAAM,EAAE;MAAG,CAAC;MAC7C,IAAI;QACF,MAAME,MAAM,CAACU,YAAY,CAACb,KAAK,CAAC;MAClC,CAAC,CAAC,OAAOc,GAAG,EAAE;QACZ,MAAMC,MAAM,GAAGrC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAClDqC,MAAM,CAAC,MAAM,EAAE,6CAA6C,EAAED,GAAG,CAAC;MACpE;IACF,CAAC,CAAC;IACF,MAAME,kBAAkB,GAAGZ,UAAU,CAACG,OAAO,CAACC,gBAAgB;IAC9D,MAAML,MAAM,CAACc,SAAS,CAACjB,KAAK,EAAE,UAAU,EAAEgB,kBAAkB,CAAC;EAC/D,CAAC;EACD,IAAIZ,UAAU,CAACc,MAAM,EAAE;IACrB,MAAMC,oBAAoB,GAAGrC,uBAAuB,CAAC,CAAC;IACtD,MAAMsC,YAAY,GAAGD,oBAAoB,CAACE,oBAAoB,CAC3DC,eAAe,IAAK;MACnBb,cAAc,CAACa,eAAe,CAACC,IAAI,CAAC;IACtC,CACF,CAAC;IACDlB,sBAAsB,CAAC,MAAMe,YAAY,CAACI,MAAM,CAAC,CAAC,CAAC;IACnD,MAAMF,eAAe,GACnB,MAAMH,oBAAoB,CAACM,uBAAuB,CAAC,CAAC;IACtD,MAAMzB,KAAK,GAAGsB,eAAe,CAACC,IAAI;IAClC,MAAMd,cAAc,CAACT,KAAK,CAAC;EAC7B,CAAC,MAAM;IACL,MAAM0B,SAAS,GAAG7C,uBAAuB,CAAC,CAAC;IAC3C,MAAM8C,WAAW,GAAGD,SAAS,CAAC,CAAC,CAACE,cAAc,CAAEC,cAAc,IAC5DpB,cAAc,CAACoB,cAAc,CAC/B,CAAC;IACDxB,sBAAsB,CAACsB,WAAW,CAAC;IACnC,MAAM3B,KAAK,GAAG,MAAM0B,SAAS,CAAC,CAAC,CAACI,QAAQ,CAAC,CAAC;IAC1C,MAAMrB,cAAc,CAACT,KAAK,CAAC;EAC7B;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAM+B,mBAAmB,GAAG,MACjCR,IAAkD,IAC/C;EACH,IAAI3C,QAAQ,CAAC0B,EAAE,KAAK,SAAS,EAAE;EAC/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMF,UAAU,GAAGR,aAAa,CAACoC,SAAS,CAAC,CAAC,CAACC,IAAI;EACjD,IAAI,CAAC7B,UAAU,IAAI,CAACmB,IAAI,IAAIA,IAAI,CAACW,MAAM,KAAK,cAAc,EAAE;IAC1D;EACF;EAEA,IAAIX,IAAI,CAACY,IAAI,KAAK,WAAW,EAAE;IAC7B,MAAMC,QAAQ,GAAGb,IAAI,CAACa,QAAkB;IACxC,MAAMC,aAAa,GAAGd,IAAI,CAACc,aAAuB;IAClD,MAAMC,WAAW,GAAGf,IAAI,CAACe,WAAqB;IAE9C,SAASC,kBAAkBA,CAACC,WAAiB,EAAE;MAC7C,MAAM;QAAEC;MAAY,CAAC,GAAGhD,iBAAiB,CACvC+C,WAAW,EACXH,aAAa,EACbC,WACF,CAAC;MACD,OAAOG,WAAW;IACpB;IAEA,MAAMC,aAAa,GAAGA,CAAA,KACpBpD,4BAA4B,CAACqD,OAAO,IACpChE,QAAQ,CAACiE,YAAY,KAAK,QAAQ;IACpC,MAAMC,mBAAmB,GAAGH,aAAa,CAAC,CAAC;IAE3C,MAAMI,UAAU,GAAG/D,uCAAuC,CAAC,CAAC;IAC5D,MAAMgE,OAAO,GAAGD,UAAU,CAACE,OAAO;IAElC,IAAIH,mBAAmB,EAAE;MACvB;MACA;MACAE,OAAO,CAACE,yBAAyB,CAAC,MAAM;QACtC,OAAO,IAAIC,OAAO,CAAC,YAAY;UAC7B,MAAM/C,MAAM,GAAG,MAAMC,UAAU,CAAC+C,uBAAuB,CAAC,CAAC;UACzD,IAAI,CAAChD,MAAM,EAAE;YACX4C,OAAO,CAACK,qBAAqB,CAAC,CAAC;YAC/B;UACF;UACA,MAAMC,YAAY,GAAG,MAAMlD,MAAM,CAACmD,aAAa,CAAClB,QAAQ,CAAC;UACzD,IAAIG,kBAAkB,CAACc,YAAY,CAAC,EAAE;YACpCN,OAAO,CAACK,qBAAqB,CAAC,CAAC;YAC/B;UACF;UACA,MAAMzB,WAAW,GAAG0B,YAAY,CAACE,EAAE,CAAC,KAAK,EAAE,MAAM;YAC/C,IAAI,CAACb,aAAa,CAAC,CAAC,IAAIH,kBAAkB,CAACc,YAAY,CAAC,EAAE;cACxD1B,WAAW,CAAC,CAAC;cACboB,OAAO,CAACK,qBAAqB,CAAC,CAAC;YACjC;UACF,CAAC,CAAC;UACF,MAAMI,uBAAuB,GAC3B/E,OAAO,CAACgF,eAAe,CAACrE,4BAA4B,CAAC,IAAI,EAAE;UAC7DA,4BAA4B,CAACsE,IAAI,CAAC,CAChC,GAAGF,uBAAuB,EAC1B7B,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IACA,MAAMgC,mBAAmB,GAAGvD,UAAU,CAACG,OAAO,CAACoD,mBAAmB;IAClE,MAAMC,mCAAmC,GACvCxD,UAAU,CAACG,OAAO,CAACqD,mCAAmC;IACxD,IAAI,CAACD,mBAAmB,IAAI,CAACC,mCAAmC,EAAE;MAChE,MAAM7C,MAAM,GAAGrC,SAAS,CAAC,CAAC,mCAAmC,CAAC,CAAC;MAC/DqC,MAAM,CACJ,MAAM,EACN,uIACF,CAAC;MACD;IACF;IACA;AACJ;AACA;AACA;IACI;IACA,IAAI,CAAC4C,mBAAmB,CAACE,KAAK,EAAE;MAC9BF,mBAAmB,CAACE,KAAK,GAAG,MAAMlE,4BAA4B,CAAC,CAAC;IAClE;IACA,MAAMoD,OAAO,CAACe,aAAa,CAACH,mBAAmB,CAAC;IAChD,MAAM;MAAEI,QAAQ;MAAEC;IAAQ,CAAC,GAAGJ,mCAAmC;IACjE,MAAMK,eAAe,GAAG1C,IAAI,CAAC2C,uBAAiC;IAE9D,MAAMC,SAAS,GAAGR,mBAAmB,CAAC/C,EAAE;IACxC,MAAMmC,OAAO,CAACqB,mBAAmB,CAAC;MAChCxD,EAAE,EAAEwB,QAAQ;MACZiC,KAAK,EAAEN,QAAQ,CAACE,eAAe,CAAC;MAChCK,IAAI,EAAEN,OAAO,CAACC,eAAe,CAAC;MAC9B1C,IAAI;MACJhB,OAAO,EAAE;QACP4D,SAAS;QACTtB,mBAAmB;QACnBgB,KAAK,EAAEF,mBAAmB,CAACE,KAAK;QAChCU,gBAAgB,EAAEZ,mBAAmB,CAACY,gBAAgB;QACtDC,WAAW,EAAE;UACX5D,EAAE,EAAE,SAAS;UACb6D,cAAc,EAAE,SAAS,CAAE;QAC7B,CAAC;QACDC,OAAO,EAAE,CACP;UACEL,KAAK,EAAE,SAAS;UAChBG,WAAW,EAAE;YACX5D,EAAE,EAAEd;UACN;QACF,CAAC,EACD;UACEuE,KAAK,EAAE,QAAQ;UACfG,WAAW,EAAE;YACX5D,EAAE,EAAEf,qBAAqB;YACzB4E,cAAc,EAAE,SAAS,CAAE;UAC7B;QACF,CAAC,CACF;QACDE,QAAQ,EAAE7B,UAAU,CAAC8B,eAAe,CAACC,IAAI;QACzCC,gBAAgB,EAAE;UAChBlE,EAAE,EAAE;QACN,CAAC;QACDmE,YAAY,EAAE,KAAK,CAAE;MACvB;IACF,CAAC,CAAC;IAEF,IAAIlC,mBAAmB,EAAE;MACvB;MACA;IACF;;IAEA;IACA;IACA,MAAM1C,MAAM,GAAG,MAAMC,UAAU,CAAC+C,uBAAuB,CAAC,CAAC;IACzD,IAAI,CAAChD,MAAM,EAAE;MACX;IACF;IACA,MAAMkD,YAAY,GAAG,MAAMlD,MAAM,CAACmD,aAAa,CAAClB,QAAQ,CAAC;IAEzD,IAAIG,kBAAkB,CAACc,YAAY,CAAC,EAAE;MACpCN,OAAO,CAACiC,2BAA2B,CAAC5C,QAAQ,CAAC;IAC/C;EACF,CAAC,MAAM;IACL,MAAMU,UAAU,GAAG/D,uCAAuC,CAAC,CAAC;IAC5D,MAAMgE,OAAO,GAAGD,UAAU,CAACE,OAAO;IAClC;IACA,MAAMiC,WAAW,GAAG7E,UAAU,CAACG,OAAO,CAAC0E,WAAW;IAClD,MAAMC,2BAA2B,GAC/B9E,UAAU,CAACG,OAAO,CAAC2E,2BAA2B;IAChD,IAAI,CAACD,WAAW,IAAI,CAACC,2BAA2B,EAAE;MAChD,MAAMnE,MAAM,GAAGrC,SAAS,CAAC,CAAC,mCAAmC,CAAC,CAAC;MAC/DqC,MAAM,CACJ,MAAM,EACN,4GACF,CAAC;MACD;IACF;IACA,MAAMgC,OAAO,CAACe,aAAa,CAACmB,WAAW,CAAC;IACxC,MAAMd,SAAS,GAAGc,WAAW,CAACrE,EAAE;IAChC,MAAM;MAAEmD,QAAQ;MAAEC;IAAQ,CAAC,GAAGkB,2BAA2B;IACzD,MAAMjB,eAAe,GAAG1C,IAAI,CAAC2C,uBAAiC;IAC9D;IACA,MAAM/B,IAAI,GAAGZ,IAAI,CAACY,IAA2B;IAC7C,MAAMY,OAAO,CAACqB,mBAAmB,CAAC;MAChCC,KAAK,EAAEN,QAAQ,CAAC5B,IAAI,EAAE8B,eAAe,CAAC;MACtCK,IAAI,EAAEN,OAAO,CAAC7B,IAAI,EAAE8B,eAAe,CAAC;MACpC1C,IAAI;MACJhB,OAAO,EAAE;QACPsD,KAAK,EAAEoB,WAAW,CAACpB,KAAK;QACxBU,gBAAgB,EAAEU,WAAW,CAACV,gBAAgB;QAC9CJ,SAAS;QACTK,WAAW,EAAE;UACX5D,EAAE,EAAE,SAAS;UACb6D,cAAc,EAAE,SAAS,CAAE;QAC7B,CAAC;QACDM,YAAY,EAAE,KAAK,CAAE;MACvB;IACF,CAAC,CAAC;IACF,MAAMI,GAAG,GAAG5D,IAAI,CAACa,QAAkB;IACnCjD,uBAAuB,CAACuE,IAAI,CAAC;MAAEyB,GAAG;MAAEhD;IAAK,CAAC,CAAC;EAC7C;AACF,CAAC;AAED,OAAO,MAAMiD,qBAAqB,GAAG,MAAAA,CAAO;EAC1CC,KAAK;EACLC;AAIF,CAAC,KAAK;EACJ,IAAI1G,QAAQ,CAAC0B,EAAE,KAAK,SAAS,EAAE;EAC/B,MAAM;IAAE6B,IAAI;IAAEoD;EAAO,CAAC,GAAGF,KAAK;EAC9B,MAAM;IAAEG,YAAY;IAAEhB;EAAY,CAAC,GAAGe,MAAM;EAC5C,MAAME,cAAc,GAAGD,YAAY,EAAE5E,EAAE;EACvC,MAAMW,IAAI,GAAGiE,YAAY,EAAEjE,IAAI;EAC/B,MAAMnB,UAAU,GAAGR,aAAa,CAACoC,SAAS,CAAC,CAAC,CAACC,IAAI;EACjD,IACE,CAAC7B,UAAU,IACX,CAACmB,IAAI,IACL,CAACkE,cAAc,IACflE,IAAI,CAACW,MAAM,KAAK,cAAc,EAC9B;IACA;EACF;;EAEA;EACA,MAAME,QAAQ,GAAGb,IAAI,CAACa,QAAkB;EAExC,IAAIb,IAAI,CAACY,IAAI,KAAK,WAAW,EAAE;IAC7B;IACA,MAAMuD,YAAY,GAChB1G,4BAA4B,CAAC2G,QAAQ,IACrC1G,4BAA4B,CAAC0G,QAAQ;IAEvC,MAAM7C,UAAU,GAAG/D,uCAAuC,CAAC,CAAC;IAC5D,MAAMgE,OAAO,GAAGD,UAAU,CAACE,OAAO;IAClC;IACA,MAAM4C,eAAe,GACnBzD,IAAI,KAAKW,UAAU,CAAC+C,SAAS,CAACC,YAAY,IAC1CtB,WAAW,EAAE5D,EAAE,KAAKd,sBAAsB;IAC5C,MAAMiG,UAAU,GAAG5D,IAAI,KAAKW,UAAU,CAAC+C,SAAS,CAACG,SAAS;IAC1D,MAAMC,WAAW,GAAGL,eAAe,IAAIG,UAAU;IACjD;IACA,MAAMG,UAAU,GACd/D,IAAI,KAAKW,UAAU,CAAC+C,SAAS,CAACC,YAAY,IAC1CtB,WAAW,EAAE5D,EAAE,KAAKf,qBAAqB;IAE3C,IACEqG,UAAU,IACVD,WAAW,IACX9D,IAAI,KAAKW,UAAU,CAAC+C,SAAS,CAACC,YAAY,EAC1C;MACAvG,6BAA6B,CAAC,CAAC;MAC/BwD,OAAO,CAACK,qBAAqB,CAAC,CAAC;IACjC;IAEA,IAAI8C,UAAU,EAAE;MACdlH,4BAA4B,CAAC0E,IAAI,CAACtB,QAAQ,CAAC;MAC3C;IACF,CAAC,MAAM,IAAI6D,WAAW,EAAE;MACtBhH,4BAA4B,CAACyE,IAAI,CAACtB,QAAQ,CAAC;MAC3C,IAAIsD,YAAY,EAAE;QAChB;QACA;MACF;MACA,MAAMlG,+BAA+B,CAACY,UAAU,EAAEgC,QAAQ,EAAE,SAAS,CAAC;IACxE,CAAC,MAAM;MACL,IAAID,IAAI,KAAKW,UAAU,CAAC+C,SAAS,CAACM,KAAK,EAAE;QACvCjH,0BAA0B,CAACwE,IAAI,CAACtB,QAAQ,CAAC;QACzC;MACF,CAAC,MAAM,IAAIkD,YAAY,IAAInD,IAAI,KAAKW,UAAU,CAAC+C,SAAS,CAACO,SAAS,EAAE;QAClE/G,8CAA8C,CAACqE,IAAI,CAACtB,QAAQ,CAAC;QAC7D;MACF;IACF;EACF,CAAC,MAAM;IACL,MAAMU,UAAU,GAAG/D,uCAAuC,CAAC,CAAC;IAC5D,IAAIoD,IAAI,KAAKW,UAAU,CAAC+C,SAAS,CAACM,KAAK,EAAE;MACvC/F,UAAU,CAACiG,+BAA+B,GACxCjE,QAAQ,EACRb,IAAI,CAACY,IACP,CAAC;IACH;EACF;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["utils/push/index.ts"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BehaviorSubject","pushNonRingingCallData$","undefined","pushAcceptedIncomingCallCId$","pushTappedIncomingCallCId$","pushAndroidBackgroundDeliveredIncomingCallCId$","pushRejectedIncomingCallCId$","voipPushNotificationCallCId$","voipCallkeepCallOnForegroundMap$","voipCallkeepAcceptedCallOnNativeDialerMap$","pushUnsubscriptionCallbacks$"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/rxSubjects.ts"],"mappings":"AAAA,SAASA,eAAe,QAAQ,MAAM;AAGtC;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG,IAAID,eAAe,CAExDE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA,OAAO,MAAMC,4BAA4B,GAAG,IAAIH,eAAe,CAE7DE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA,OAAO,MAAME,0BAA0B,GAAG,IAAIJ,eAAe,CAE3DE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,8CAA8C,GACzD,IAAIL,eAAe,CAAqBE,SAAS,CAAC;;AAEpD;AACA;AACA;AACA;AACA,OAAO,MAAMI,4BAA4B,GAAG,IAAIN,eAAe,CAE7DE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA,OAAO,MAAMK,4BAA4B,GAAG,IAAIP,eAAe,CAE7DE,SAAS,CAAC;;AAEZ;;AAMA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,gCAAgC,GAAG,IAAIR,eAAe,CAEjEE,SAAS,CAAC;;AAEZ;AACA;AACA;AACA,OAAO,MAAMO,0CAA0C,GAAG,IAAIT,eAAe,CAE3EE,SAAS,CAAC;AAIZ;AACA;AACA;AACA;AACA,OAAO,MAAMQ,4BAA4B,GAAG,IAAIV,eAAe,CAE7DE,SAAS,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { RxUtils, getLogger } from '@stream-io/video-client';
|
|
2
|
+
import { onNewCallNotification } from '../../internal/newNotificationCallbacks';
|
|
3
|
+
import { pushUnsubscriptionCallbacks$ } from './rxSubjects';
|
|
4
|
+
/**
|
|
5
|
+
* This function is used to check if the call should be ended based on the push notification
|
|
6
|
+
* Useful for callkeep management to end the call if necessary (with reportEndCallWithUUID)
|
|
7
|
+
*/
|
|
8
|
+
export const shouldCallBeEnded = (callFromPush, created_by_id, receiver_id) => {
|
|
9
|
+
/* callkeep reasons for ending a call
|
|
10
|
+
FAILED: 1,
|
|
11
|
+
REMOTE_ENDED: 2,
|
|
12
|
+
UNANSWERED: 3,
|
|
13
|
+
ANSWERED_ELSEWHERE: 4,
|
|
14
|
+
DECLINED_ELSEWHERE: 5,
|
|
15
|
+
MISSED: 6
|
|
16
|
+
*/
|
|
17
|
+
const callSession = callFromPush.state.session;
|
|
18
|
+
const rejected_by = callSession?.rejected_by;
|
|
19
|
+
const accepted_by = callSession?.accepted_by;
|
|
20
|
+
let mustEndCall = false;
|
|
21
|
+
let callkeepReason = 0;
|
|
22
|
+
if (created_by_id && rejected_by) {
|
|
23
|
+
if (rejected_by[created_by_id]) {
|
|
24
|
+
// call was cancelled by the caller
|
|
25
|
+
mustEndCall = true;
|
|
26
|
+
callkeepReason = 2;
|
|
27
|
+
}
|
|
28
|
+
} else if (receiver_id && rejected_by) {
|
|
29
|
+
if (rejected_by[receiver_id]) {
|
|
30
|
+
// call was rejected by the receiver in some other device
|
|
31
|
+
mustEndCall = true;
|
|
32
|
+
callkeepReason = 5;
|
|
33
|
+
}
|
|
34
|
+
} else if (receiver_id && accepted_by) {
|
|
35
|
+
if (accepted_by[receiver_id]) {
|
|
36
|
+
// call was accepted by the receiver in some other device
|
|
37
|
+
mustEndCall = true;
|
|
38
|
+
callkeepReason = 4;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
mustEndCall,
|
|
43
|
+
callkeepReason
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/* An action for the notification or callkeep and app does not have JS context setup yet, so we need to do two steps:
|
|
48
|
+
1. we need to create a new client and connect the user to decline the call
|
|
49
|
+
2. this is because the app is in background state and we don't have a client to get the call and do an action
|
|
50
|
+
*/
|
|
51
|
+
export const processCallFromPushInBackground = async (pushConfig, call_cid, action) => {
|
|
52
|
+
let videoClient;
|
|
53
|
+
try {
|
|
54
|
+
videoClient = await pushConfig.createStreamVideoClient();
|
|
55
|
+
if (!videoClient) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
} catch (e) {
|
|
59
|
+
const logger = getLogger(['processCallFromPushInBackground']);
|
|
60
|
+
logger('error', 'failed to create video client', e);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
await processCallFromPush(videoClient, call_cid, action, pushConfig);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* This function is used process the call from push notifications due to incoming call
|
|
68
|
+
* It does the following steps:
|
|
69
|
+
* 1. Get the call from the client if present or create a new call
|
|
70
|
+
* 2. Fetch the latest state of the call from the server if its not already in ringing state
|
|
71
|
+
* 3. Join or leave the call based on the user's action.
|
|
72
|
+
*/
|
|
73
|
+
export const processCallFromPush = async (client, call_cid, action, pushConfig) => {
|
|
74
|
+
let callFromPush;
|
|
75
|
+
try {
|
|
76
|
+
callFromPush = await client.onRingingCall(call_cid);
|
|
77
|
+
} catch (e) {
|
|
78
|
+
const logger = getLogger(['processCallFromPush']);
|
|
79
|
+
logger('error', 'failed to fetch call from push notification', e);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
// note: when action was pressed or delivered, we dont need to do anything as the only thing is to do is to get the call which adds it to the client
|
|
83
|
+
try {
|
|
84
|
+
if (action === 'accept') {
|
|
85
|
+
if (pushConfig.publishOptions) {
|
|
86
|
+
callFromPush.updatePublishOptions(pushConfig.publishOptions);
|
|
87
|
+
}
|
|
88
|
+
await callFromPush.join();
|
|
89
|
+
} else if (action === 'decline') {
|
|
90
|
+
await callFromPush.leave({
|
|
91
|
+
reject: true,
|
|
92
|
+
reason: 'decline'
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
} catch (e) {
|
|
96
|
+
const logger = getLogger(['processCallFromPush']);
|
|
97
|
+
logger('error', `failed to process ${action} call from push notification`, e);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* This function is used process the call from push notifications due to non ringing calls
|
|
103
|
+
* It does the following steps:
|
|
104
|
+
* 1. Get the call from the client if present or create a new call
|
|
105
|
+
* 2. Fetch the latest state of the call from the server
|
|
106
|
+
* 3. Call all the callbacks to inform the app about the call
|
|
107
|
+
*/
|
|
108
|
+
export const processNonIncomingCallFromPush = async (client, call_cid, nonRingingNotificationType) => {
|
|
109
|
+
let callFromPush;
|
|
110
|
+
try {
|
|
111
|
+
const _callFromPush = client.state.calls.find(c => c.cid === call_cid);
|
|
112
|
+
if (_callFromPush) {
|
|
113
|
+
callFromPush = _callFromPush;
|
|
114
|
+
} else {
|
|
115
|
+
// if not it means that WS is not alive when receiving the push notifications and we need to fetch the call
|
|
116
|
+
const [callType, callId] = call_cid.split(':');
|
|
117
|
+
callFromPush = client.call(callType, callId);
|
|
118
|
+
await callFromPush.get();
|
|
119
|
+
}
|
|
120
|
+
} catch (e) {
|
|
121
|
+
const logger = getLogger(['processNonIncomingCallFromPush']);
|
|
122
|
+
logger('error', 'failed to fetch call from push notification', e);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
onNewCallNotification(callFromPush, nonRingingNotificationType);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* This function is used to clear all the push related WS subscriptions
|
|
130
|
+
* note: events are subscribed in push for accept/decline through WS
|
|
131
|
+
*/
|
|
132
|
+
export const clearPushWSEventSubscriptions = () => {
|
|
133
|
+
const unsubscriptionCallbacks = RxUtils.getCurrentValue(pushUnsubscriptionCallbacks$);
|
|
134
|
+
if (unsubscriptionCallbacks) {
|
|
135
|
+
unsubscriptionCallbacks.forEach(cb => cb());
|
|
136
|
+
}
|
|
137
|
+
pushUnsubscriptionCallbacks$.next(undefined);
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* This ref is used to check if the push WS subscriptions can be added
|
|
142
|
+
* It is used to avoid adding the push WS subscriptions when the client is connected to WS in the foreground
|
|
143
|
+
*/
|
|
144
|
+
export const canAddPushWSSubscriptionsRef = {
|
|
145
|
+
current: true
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RxUtils","getLogger","onNewCallNotification","pushUnsubscriptionCallbacks$","shouldCallBeEnded","callFromPush","created_by_id","receiver_id","callSession","state","session","rejected_by","accepted_by","mustEndCall","callkeepReason","processCallFromPushInBackground","pushConfig","call_cid","action","videoClient","createStreamVideoClient","e","logger","processCallFromPush","client","onRingingCall","publishOptions","updatePublishOptions","join","leave","reject","reason","processNonIncomingCallFromPush","nonRingingNotificationType","_callFromPush","calls","find","c","cid","callType","callId","split","call","get","clearPushWSEventSubscriptions","unsubscriptionCallbacks","getCurrentValue","forEach","cb","next","undefined","canAddPushWSSubscriptionsRef","current"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/utils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Platform } from 'react-native';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { getExpoNotificationsLib, getNotifeeLibThrowIfNotInstalledForPush, getPushNotificationIosLib } from './libs';
|
|
2
|
+
import { pushNonRingingCallData$ } from './internal/rxSubjects';
|
|
3
|
+
import { getExpoNotificationsLib, getPushNotificationIosLib } from './libs';
|
|
5
4
|
import { getLogger } from '@stream-io/video-client';
|
|
6
5
|
import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
|
|
6
|
+
import { EventType } from '@notifee/react-native';
|
|
7
|
+
import { StreamVideoRN } from '../StreamVideoRN';
|
|
7
8
|
let lastApnToken = {
|
|
8
9
|
token: '',
|
|
9
10
|
userId: ''
|
|
@@ -22,75 +23,49 @@ function processNonRingingNotificationStreamPayload(streamPayload) {
|
|
|
22
23
|
};
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
|
-
export const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
uuid: callUUIDFromCallkeep,
|
|
33
|
-
cid: call_cid
|
|
34
|
-
});
|
|
35
|
-
// to process the call in the app
|
|
36
|
-
pushAcceptedIncomingCallCId$.next(call_cid);
|
|
37
|
-
// no need to keep these references anymore
|
|
38
|
-
voipCallkeepCallOnForegroundMap$.next(undefined);
|
|
39
|
-
};
|
|
40
|
-
export const iosCallkeepRejectCall = async (call_cid, callUUIDFromCallkeep, pushConfig) => {
|
|
41
|
-
if (!shouldProcessCallFromCallkeep(call_cid, callUUIDFromCallkeep)) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
clearPushWSEventSubscriptions();
|
|
45
|
-
// no need to keep these references anymore
|
|
46
|
-
voipCallkeepAcceptedCallOnNativeDialerMap$.next(undefined);
|
|
47
|
-
voipCallkeepCallOnForegroundMap$.next(undefined);
|
|
48
|
-
voipPushNotificationCallCId$.next(undefined);
|
|
49
|
-
await processCallFromPushInBackground(pushConfig, call_cid, 'decline');
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Helper function to determine if the answer/end call event from callkeep must be processed
|
|
54
|
-
* Just checks if we have a valid call_cid and acts as a type guard for call_cid
|
|
55
|
-
*/
|
|
56
|
-
const shouldProcessCallFromCallkeep = (call_cid, callUUIDFromCallkeep) => {
|
|
57
|
-
if (!call_cid || !callUUIDFromCallkeep) {
|
|
58
|
-
return false;
|
|
26
|
+
export const oniOSExpoNotificationEvent = event => {
|
|
27
|
+
const pushConfig = StreamVideoRN.getConfig().push;
|
|
28
|
+
if (pushConfig) {
|
|
29
|
+
if (event.request.trigger.type === 'push') {
|
|
30
|
+
const streamPayload = event.request.trigger.payload?.stream;
|
|
31
|
+
processNonRingingNotificationStreamPayload(streamPayload);
|
|
32
|
+
}
|
|
59
33
|
}
|
|
60
|
-
return true;
|
|
61
34
|
};
|
|
62
|
-
export const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
|
|
35
|
+
export const oniOSNotifeeEvent = ({
|
|
36
|
+
event
|
|
37
|
+
}) => {
|
|
38
|
+
if (Platform.OS !== 'ios') return;
|
|
39
|
+
const pushConfig = StreamVideoRN.getConfig().push;
|
|
40
|
+
const {
|
|
68
41
|
type,
|
|
69
42
|
detail
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
43
|
+
} = event;
|
|
44
|
+
if (pushConfig && type === EventType.PRESS) {
|
|
45
|
+
const streamPayload = detail.notification?.data?.stream;
|
|
46
|
+
const result = processNonRingingNotificationStreamPayload(streamPayload);
|
|
47
|
+
if (result) {
|
|
48
|
+
pushConfig.onTapNonRingingCallNotification?.(result.cid, result.type);
|
|
77
49
|
}
|
|
78
|
-
});
|
|
79
|
-
if (pushConfig.isExpo) {
|
|
80
|
-
const Notifications = getExpoNotificationsLib();
|
|
81
|
-
|
|
82
|
-
// foreground handler (just to show the notifications on foreground)
|
|
83
|
-
Notifications.setNotificationHandler({
|
|
84
|
-
handleNotification: async () => {
|
|
85
|
-
return {
|
|
86
|
-
shouldShowAlert: true,
|
|
87
|
-
shouldPlaySound: true,
|
|
88
|
-
shouldSetBadge: false
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
50
|
}
|
|
93
51
|
};
|
|
52
|
+
export function onPushNotificationiOSStreamVideoEvent(notification) {
|
|
53
|
+
const pushNotificationIosLib = getPushNotificationIosLib();
|
|
54
|
+
const data = notification.getData();
|
|
55
|
+
const streamPayload = data?.stream;
|
|
56
|
+
const isClicked = data.userInteraction === 1;
|
|
57
|
+
const pushConfig = StreamVideoRN.getConfig().push;
|
|
58
|
+
if (!streamPayload || !isClicked || !pushConfig) {
|
|
59
|
+
notification.finish(pushNotificationIosLib.FetchResult.NoData);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
// listen to foreground notifications
|
|
63
|
+
const result = processNonRingingNotificationStreamPayload(streamPayload);
|
|
64
|
+
if (result) {
|
|
65
|
+
pushConfig.onTapNonRingingCallNotification?.(result.cid, result.type);
|
|
66
|
+
}
|
|
67
|
+
notification.finish(pushNotificationIosLib.FetchResult.NoData);
|
|
68
|
+
}
|
|
94
69
|
|
|
95
70
|
/** Send token to stream */
|
|
96
71
|
export async function initIosNonVoipToken(client, pushConfig, setUnsubscribeListener) {
|
|
@@ -129,32 +104,16 @@ export async function initIosNonVoipToken(client, pushConfig, setUnsubscribeList
|
|
|
129
104
|
const subscription = expoNotificationsLib.addPushTokenListener(devicePushToken => {
|
|
130
105
|
setDeviceToken(devicePushToken.data);
|
|
131
106
|
});
|
|
132
|
-
const subscriptionForReceive = expoNotificationsLib.addNotificationReceivedListener(event => {
|
|
133
|
-
// listen to foreground notifications
|
|
134
|
-
if (event.request.trigger.type === 'push') {
|
|
135
|
-
const streamPayload = event.request.trigger.payload?.stream;
|
|
136
|
-
processNonRingingNotificationStreamPayload(streamPayload);
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
107
|
setUnsubscribeListener(() => {
|
|
140
108
|
subscription.remove();
|
|
141
|
-
subscriptionForReceive.remove();
|
|
142
109
|
});
|
|
143
110
|
} else {
|
|
144
111
|
const pushNotificationIosLib = getPushNotificationIosLib();
|
|
145
112
|
pushNotificationIosLib.addEventListener('register', token => {
|
|
146
113
|
setDeviceToken(token);
|
|
147
114
|
});
|
|
148
|
-
pushNotificationIosLib.addEventListener('notification', notification => {
|
|
149
|
-
const data = notification.getData();
|
|
150
|
-
const streamPayload = data?.stream;
|
|
151
|
-
// listen to foreground notifications
|
|
152
|
-
processNonRingingNotificationStreamPayload(streamPayload);
|
|
153
|
-
notification.finish(pushNotificationIosLib.FetchResult.NoData);
|
|
154
|
-
});
|
|
155
115
|
setUnsubscribeListener(() => {
|
|
156
116
|
pushNotificationIosLib.removeEventListener('register');
|
|
157
|
-
pushNotificationIosLib.removeEventListener('notification');
|
|
158
117
|
});
|
|
159
118
|
}
|
|
160
119
|
}
|