@stream-io/video-react-native-sdk 1.2.16 → 1.2.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +8 -6
  2. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  3. package/dist/commonjs/utils/StreamVideoRN/index.js +7 -0
  4. package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
  5. package/dist/commonjs/utils/push/android.js +16 -4
  6. package/dist/commonjs/utils/push/android.js.map +1 -1
  7. package/dist/commonjs/utils/push/libs/notifee.js +50 -5
  8. package/dist/commonjs/utils/push/libs/notifee.js.map +1 -1
  9. package/dist/commonjs/version.js +1 -1
  10. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +9 -7
  11. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  12. package/dist/module/utils/StreamVideoRN/index.js +7 -0
  13. package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
  14. package/dist/module/utils/push/android.js +18 -6
  15. package/dist/module/utils/push/android.js.map +1 -1
  16. package/dist/module/utils/push/libs/notifee.js +48 -5
  17. package/dist/module/utils/push/libs/notifee.js.map +1 -1
  18. package/dist/module/version.js +1 -1
  19. package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts +1 -1
  20. package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
  21. package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
  22. package/dist/typescript/utils/StreamVideoRN/types.d.ts +4 -2
  23. package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
  24. package/dist/typescript/utils/push/android.d.ts.map +1 -1
  25. package/dist/typescript/utils/push/libs/notifee.d.ts +20 -0
  26. package/dist/typescript/utils/push/libs/notifee.d.ts.map +1 -1
  27. package/dist/typescript/version.d.ts +1 -1
  28. package/expo-config-plugin/dist/common/types.d.ts +1 -0
  29. package/expo-config-plugin/dist/withAndroidManifest.js +8 -4
  30. package/expo-config-plugin/dist/withAndroidPermissions.js +3 -0
  31. package/package.json +5 -5
  32. package/src/hooks/useAndroidKeepCallAliveEffect.ts +14 -8
  33. package/src/utils/StreamVideoRN/index.ts +7 -0
  34. package/src/utils/StreamVideoRN/types.ts +4 -2
  35. package/src/utils/push/android.ts +23 -4
  36. package/src/utils/push/libs/notifee.ts +58 -6
  37. package/src/version.ts +1 -1
@@ -10,10 +10,8 @@ var _utils = require("../utils");
10
10
  var _reactNative = require("react-native");
11
11
  var _videoClient = require("@stream-io/video-client");
12
12
  var _notifee = require("../utils/push/libs/notifee");
13
- const isAndroid7OrBelow = _reactNative.Platform.OS === 'android' && _reactNative.Platform.Version < 26;
14
13
  const notifeeLib = (0, _notifee.getNotifeeLibNoThrowForKeepCallAlive)();
15
14
  function setForegroundService() {
16
- if (!isAndroid7OrBelow) return;
17
15
  notifeeLib?.default.registerForegroundService(() => {
18
16
  return new Promise(() => {
19
17
  const logger = (0, _videoClient.getLogger)(['setForegroundService method']);
@@ -22,7 +20,6 @@ function setForegroundService() {
22
20
  });
23
21
  }
24
22
  async function startForegroundService(call_cid) {
25
- if (!isAndroid7OrBelow) return;
26
23
  const foregroundServiceConfig = _utils.StreamVideoRN.getConfig().foregroundService;
27
24
  const {
28
25
  title,
@@ -37,11 +34,16 @@ async function startForegroundService(call_cid) {
37
34
  logger('info', 'Notification permission not granted, can not start foreground service to keep the call alive');
38
35
  return;
39
36
  }
37
+ const channelId = foregroundServiceConfig.android.channel.id;
38
+ await notifeeLib.default.createChannel(foregroundServiceConfig.android.channel);
39
+ const foregroundServiceTypes = await (0, _notifee.getKeepCallAliveForegroundServiceTypes)();
40
40
  await notifeeLib.default.displayNotification({
41
41
  id: call_cid,
42
42
  title,
43
43
  body,
44
44
  android: {
45
+ channelId,
46
+ foregroundServiceTypes,
45
47
  asForegroundService: true,
46
48
  ongoing: true,
47
49
  // user cannot dismiss the notification
@@ -61,10 +63,10 @@ let isSetForegroundServiceRan = false;
61
63
  * This hook is used to keep the call alive in the background for Android.
62
64
  * It starts a foreground service to keep the call alive as soon as the call is joined
63
65
  * and stops the foreground Service when the call is left.
64
- * Additonally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
66
+ * Additionally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
65
67
  */
66
68
  const useAndroidKeepCallAliveEffect = () => {
67
- if (!isSetForegroundServiceRan && isAndroid7OrBelow) {
69
+ if (!isSetForegroundServiceRan) {
68
70
  isSetForegroundServiceRan = true;
69
71
  setForegroundService();
70
72
  }
@@ -75,10 +77,10 @@ const useAndroidKeepCallAliveEffect = () => {
75
77
  } = (0, _videoReactBindings.useCallStateHooks)();
76
78
  const callingState = useCallCallingState();
77
79
  (0, _react.useEffect)(() => {
78
- if (!notifeeLib) return;
79
80
  if (_reactNative.Platform.OS === 'ios' || !activeCallCid) {
80
81
  return;
81
82
  }
83
+ if (!notifeeLib) return;
82
84
 
83
85
  // start foreground service as soon as the call is joined
84
86
  if (callingState === _videoClient.CallingState.JOINED) {
@@ -1 +1 @@
1
- {"version":3,"names":["_videoReactBindings","require","_react","_utils","_reactNative","_videoClient","_notifee","isAndroid7OrBelow","Platform","OS","Version","notifeeLib","getNotifeeLibNoThrowForKeepCallAlive","setForegroundService","default","registerForegroundService","Promise","logger","getLogger","startForegroundService","call_cid","foregroundServiceConfig","StreamVideoRN","getConfig","foregroundService","title","body","android","notificationTexts","settings","getNotificationSettings","authorizationStatus","AuthorizationStatus","AUTHORIZED","displayNotification","id","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","useRef","activeCallCid","useCall","cid","useCallCallingState","useCallStateHooks","callingState","useEffect","CallingState","JOINED","run","current","notifee","getDisplayedNotifications","then","displayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","RINGING","IDLE","LEFT","exports"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_videoReactBindings","require","_react","_utils","_reactNative","_videoClient","_notifee","notifeeLib","getNotifeeLibNoThrowForKeepCallAlive","setForegroundService","default","registerForegroundService","Promise","logger","getLogger","startForegroundService","call_cid","foregroundServiceConfig","StreamVideoRN","getConfig","foregroundService","title","body","android","notificationTexts","settings","getNotificationSettings","authorizationStatus","AuthorizationStatus","AUTHORIZED","channelId","channel","id","createChannel","foregroundServiceTypes","getKeepCallAliveForegroundServiceTypes","displayNotification","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","useRef","activeCallCid","useCall","cid","useCallCallingState","useCallStateHooks","callingState","useEffect","Platform","OS","CallingState","JOINED","run","current","notifee","getDisplayedNotifications","then","displayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","RINGING","IDLE","LEFT","exports"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,13 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12
12
  const DEFAULT_STREAM_VIDEO_CONFIG = {
13
13
  foregroundService: {
14
14
  android: {
15
+ channel: {
16
+ id: 'stream_call_foreground_service',
17
+ name: 'To keep calls alive',
18
+ lights: false,
19
+ vibration: false,
20
+ importance: 3
21
+ },
15
22
  notificationTexts: {
16
23
  title: 'Call in progress',
17
24
  body: 'Tap to return to the call'
@@ -1 +1 @@
1
- {"version":3,"names":["_android","require","_pushLogoutCallback","_interopRequireDefault","_ios","_newNotificationCallbacks","e","__esModule","default","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","notificationTexts","title","body","StreamVideoRN","config","updateConfig","updateAndroidIncomingCallChannel","updateChannel","prevChannel","push","incomingCallChannel","setPushConfig","pushConfig","setupFirebaseHandlerAndroid","setupRemoteNotificationsHandleriOS","getConfig","onPushLogout","pushLogoutCallbacks","current","Promise","all","map","callback","then","resolve","addOnNewCallNotificationListener","newNotificationCallbacks","filter","cb","exports"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAE8C,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C,MAAMG,2BAA8C,GAAG;EACrDC,iBAAiB,EAAE;IACjBC,OAAO,EAAE;MACPC,iBAAiB,EAAE;QACjBC,KAAK,EAAE,kBAAkB;QACzBC,IAAI,EAAE;MACR;IACF;EACF;AACF,CAAC;AAEM,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,IAAI,CAACL,MAAM,CAACK,IAAI,GAAGG,UAAU;IAC7B;IACA,IAAAC,oCAA2B,EAACD,UAAU,CAAC;IACvC;IACA,IAAAE,uCAAkC,EAACF,UAAU,CAAC;EAChD;EAEA,OAAOG,SAASA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACX,MAAM;EACpB;;EAEA;AACF;AACA;AACA;EACE,OAAOY,YAAYA,CAAA,EAAG;IACpB,IAAIC,2BAAmB,CAACC,OAAO,EAAE;MAC/B,OAAOC,OAAO,CAACC,GAAG,CAChBH,2BAAmB,CAACC,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,CAACI,iCAAwB,CAACR,OAAO,EAAE;MACrCQ,iCAAwB,CAACR,OAAO,GAAG,CAACI,QAAQ,CAAC;IAC/C,CAAC,MAAM;MACLI,iCAAwB,CAACR,OAAO,CAACT,IAAI,CAACa,QAAQ,CAAC;IACjD;IACA,OAAO,MAAM;MACXI,iCAAwB,CAACR,OAAO,GAC9BQ,iCAAwB,CAACR,OAAO,EAAES,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKN,QAAQ,CAAC;IACrE,CAAC;EACH;AACF;AAACO,OAAA,CAAA1B,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_android","require","_pushLogoutCallback","_interopRequireDefault","_ios","_newNotificationCallbacks","e","__esModule","default","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","lights","vibration","importance","notificationTexts","title","body","StreamVideoRN","config","updateConfig","updateAndroidIncomingCallChannel","updateChannel","prevChannel","push","incomingCallChannel","setPushConfig","pushConfig","setupFirebaseHandlerAndroid","setupRemoteNotificationsHandleriOS","getConfig","onPushLogout","pushLogoutCallbacks","current","Promise","all","map","callback","then","resolve","addOnNewCallNotificationListener","newNotificationCallbacks","filter","cb","exports"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAE8C,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C,MAAMG,2BAA8C,GAAG;EACrDC,iBAAiB,EAAE;IACjBC,OAAO,EAAE;MACPC,OAAO,EAAE;QACPC,EAAE,EAAE,gCAAgC;QACpCC,IAAI,EAAE,qBAAqB;QAC3BC,MAAM,EAAE,KAAK;QACbC,SAAS,EAAE,KAAK;QAChBC,UAAU,EAAE;MACd,CAAC;MACDC,iBAAiB,EAAE;QACjBC,KAAK,EAAE,kBAAkB;QACzBC,IAAI,EAAE;MACR;IACF;EACF;AACF,CAAC;AAEM,MAAMC,aAAa,CAAC;EACzB,OAAeC,MAAM,GAAGb,2BAA2B;;EAEnD;AACF;AACA;AACA;AACA;EACE,OAAOc,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,EAAEhB,OAAO,EAAEiB,mBAAmB;IAClE,IAAIF,WAAW,EAAE;MACf,IAAI,CAACJ,MAAM,CAACK,IAAI,CAAEhB,OAAO,CAACiB,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,IAAI,CAACL,MAAM,CAACK,IAAI,GAAGG,UAAU;IAC7B;IACA,IAAAC,oCAA2B,EAACD,UAAU,CAAC;IACvC;IACA,IAAAE,uCAAkC,EAACF,UAAU,CAAC;EAChD;EAEA,OAAOG,SAASA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACX,MAAM;EACpB;;EAEA;AACF;AACA;AACA;EACE,OAAOY,YAAYA,CAAA,EAAG;IACpB,IAAIC,2BAAmB,CAACC,OAAO,EAAE;MAC/B,OAAOC,OAAO,CAACC,GAAG,CAChBH,2BAAmB,CAACC,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,CAACI,iCAAwB,CAACR,OAAO,EAAE;MACrCQ,iCAAwB,CAACR,OAAO,GAAG,CAACI,QAAQ,CAAC;IAC/C,CAAC,MAAM;MACLI,iCAAwB,CAACR,OAAO,CAACT,IAAI,CAACa,QAAQ,CAAC;IACjD;IACA,OAAO,MAAM;MACXI,iCAAwB,CAACR,OAAO,GAC9BQ,iCAAwB,CAACR,OAAO,EAAES,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKN,QAAQ,CAAC;IACrE,CAAC;EACH;AACF;AAACO,OAAA,CAAA1B,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -159,12 +159,12 @@ const firebaseMessagingOnMessageHandler = async (data, pushConfig) => {
159
159
  const call_cid = data.call_cid;
160
160
  const created_by_id = data.created_by_id;
161
161
  const receiver_id = data.receiver_id;
162
- function shouldCallBeClosed(callToCheck) {
162
+ const shouldCallBeClosed = callToCheck => {
163
163
  const {
164
164
  mustEndCall
165
165
  } = (0, _utils.shouldCallBeEnded)(callToCheck, created_by_id, receiver_id);
166
166
  return mustEndCall;
167
- }
167
+ };
168
168
  const canListenToWS = () => _utils.canAddPushWSSubscriptionsRef.current && _reactNative.AppState.currentState !== 'active';
169
169
  const asForegroundService = canListenToWS();
170
170
  const notifeeLib = (0, _libs.getNotifeeLibThrowIfNotInstalledForPush)();
@@ -184,14 +184,25 @@ const firebaseMessagingOnMessageHandler = async (data, pushConfig) => {
184
184
  notifee.stopForegroundService();
185
185
  return;
186
186
  }
187
+ const unsubscribeFunctions = [];
188
+ // check if service needs to be closed if accept/decline event was done on another device
187
189
  const unsubscribe = callFromPush.on('all', () => {
188
190
  if (!canListenToWS() || shouldCallBeClosed(callFromPush)) {
189
- unsubscribe();
191
+ unsubscribeFunctions.forEach(fn => fn());
192
+ notifee.stopForegroundService();
193
+ }
194
+ });
195
+ // check if service needs to be closed if call was left
196
+ const subscription = callFromPush.state.callingState$.subscribe(callingState => {
197
+ if (callingState === _videoClient.CallingState.IDLE || callingState === _videoClient.CallingState.LEFT) {
198
+ unsubscribeFunctions.forEach(fn => fn());
190
199
  notifee.stopForegroundService();
191
200
  }
192
201
  });
202
+ unsubscribeFunctions.push(unsubscribe);
203
+ unsubscribeFunctions.push(() => subscription.unsubscribe());
193
204
  const unsubscriptionCallbacks = _videoClient.RxUtils.getCurrentValue(_rxSubjects.pushUnsubscriptionCallbacks$) ?? [];
194
- _rxSubjects.pushUnsubscriptionCallbacks$.next([...unsubscriptionCallbacks, unsubscribe]);
205
+ _rxSubjects.pushUnsubscriptionCallbacks$.next([...unsubscriptionCallbacks, ...unsubscribeFunctions]);
195
206
  });
196
207
  });
197
208
  }
@@ -224,6 +235,7 @@ const firebaseMessagingOnMessageHandler = async (data, pushConfig) => {
224
235
  data,
225
236
  android: {
226
237
  channelId,
238
+ foregroundServiceTypes: (0, _libs.getIncomingCallForegroundServiceTypes)(),
227
239
  asForegroundService,
228
240
  sound: incomingCallChannel.sound,
229
241
  vibrationPattern: incomingCallChannel.vibrationPattern,
@@ -1 +1 @@
1
- {"version":3,"names":["_videoClient","require","_reactNative","_libs","_rxSubjects","_utils","_pushLogoutCallback","_getAndroidDefaultRingtoneUrl","ACCEPT_CALL_ACTION_ID","DECLINE_CALL_ACTION_ID","lastFirebaseToken","token","userId","setupFirebaseHandlerAndroid","pushConfig","Platform","OS","isExpo","messaging","getFirebaseMessagingLibNoThrow","setBackgroundMessageHandler","msg","firebaseMessagingOnMessageHandler","data","onMessage","Notifications","getExpoNotificationsLib","TaskManager","getExpoTaskManagerLib","BACKGROUND_NOTIFICATION_TASK","defineTask","error","dataToProcess","notification","registerTaskAsync","setNotificationHandler","handleNotification","trigger","request","type","remoteMessage","sender","shouldShowAlert","shouldPlaySound","shouldSetBadge","getFirebaseMessagingLib","notifeeLib","getNotifeeLibThrowIfNotInstalledForPush","notifee","default","onBackgroundEvent","event","onNotifeeEvent","onForegroundEvent","initAndroidPushToken","client","setUnsubscribeListener","android","pushProviderName","setDeviceToken","streamClient","_user","id","setPushLogoutCallback","removeDevice","err","logger","getLogger","push_provider_name","addDevice","expoNotificationsLib","subscription","addPushTokenListener","devicePushToken","remove","getDevicePushTokenAsync","unsubscribe","onTokenRefresh","refreshedToken","getToken","call_cid","created_by_id","receiver_id","shouldCallBeClosed","callToCheck","mustEndCall","shouldCallBeEnded","canListenToWS","canAddPushWSSubscriptionsRef","current","AppState","currentState","asForegroundService","registerForegroundService","Promise","createStreamVideoClient","stopForegroundService","callFromPush","onRingingCall","on","unsubscriptionCallbacks","RxUtils","getCurrentValue","pushUnsubscriptionCallbacks$","next","incomingCallChannel","incomingCallNotificationTextGetters","sound","getAndroidDefaultRingtoneUrl","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","pushNonRingingCallData$","isBackground","detail","notificationId","hasObservers","pushAcceptedIncomingCallCId$","observed","pushRejectedIncomingCallCId$","didPressDecline","EventType","ACTION_PRESS","didDismiss","DISMISSED","mustDecline","mustAccept","clearPushWSEventSubscriptions","processCallFromPushInBackground","PRESS","pushTappedIncomingCallCId$","DELIVERED","pushAndroidBackgroundDeliveredIncomingCallCId$","onTapNonRingingCallNotification"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_videoClient","require","_reactNative","_libs","_rxSubjects","_utils","_pushLogoutCallback","_getAndroidDefaultRingtoneUrl","ACCEPT_CALL_ACTION_ID","DECLINE_CALL_ACTION_ID","lastFirebaseToken","token","userId","setupFirebaseHandlerAndroid","pushConfig","Platform","OS","isExpo","messaging","getFirebaseMessagingLibNoThrow","setBackgroundMessageHandler","msg","firebaseMessagingOnMessageHandler","data","onMessage","Notifications","getExpoNotificationsLib","TaskManager","getExpoTaskManagerLib","BACKGROUND_NOTIFICATION_TASK","defineTask","error","dataToProcess","notification","registerTaskAsync","setNotificationHandler","handleNotification","trigger","request","type","remoteMessage","sender","shouldShowAlert","shouldPlaySound","shouldSetBadge","getFirebaseMessagingLib","notifeeLib","getNotifeeLibThrowIfNotInstalledForPush","notifee","default","onBackgroundEvent","event","onNotifeeEvent","onForegroundEvent","initAndroidPushToken","client","setUnsubscribeListener","android","pushProviderName","setDeviceToken","streamClient","_user","id","setPushLogoutCallback","removeDevice","err","logger","getLogger","push_provider_name","addDevice","expoNotificationsLib","subscription","addPushTokenListener","devicePushToken","remove","getDevicePushTokenAsync","unsubscribe","onTokenRefresh","refreshedToken","getToken","call_cid","created_by_id","receiver_id","shouldCallBeClosed","callToCheck","mustEndCall","shouldCallBeEnded","canListenToWS","canAddPushWSSubscriptionsRef","current","AppState","currentState","asForegroundService","registerForegroundService","Promise","createStreamVideoClient","stopForegroundService","callFromPush","onRingingCall","unsubscribeFunctions","on","forEach","fn","state","callingState$","subscribe","callingState","CallingState","IDLE","LEFT","push","unsubscriptionCallbacks","RxUtils","getCurrentValue","pushUnsubscriptionCallbacks$","next","incomingCallChannel","incomingCallNotificationTextGetters","sound","getAndroidDefaultRingtoneUrl","createChannel","getTitle","getBody","createdUserName","created_by_display_name","channelId","displayNotification","title","body","foregroundServiceTypes","getIncomingCallForegroundServiceTypes","vibrationPattern","pressAction","launchActivity","actions","category","AndroidCategory","CALL","fullScreenAction","timeoutAfter","cancelDisplayedNotification","callChannel","callNotificationTextGetters","cid","pushNonRingingCallData$","isBackground","detail","notificationId","hasObservers","pushAcceptedIncomingCallCId$","observed","pushRejectedIncomingCallCId$","didPressDecline","EventType","ACTION_PRESS","didDismiss","DISMISSED","mustDecline","mustAccept","clearPushWSEventSubscriptions","processCallFromPushInBackground","PRESS","pushTappedIncomingCallCId$","DELIVERED","pushAndroidBackgroundDeliveredIncomingCallCId$","onTapNonRingingCallNotification"],"sourceRoot":"../../../../src","sources":["utils/push/android.ts"],"mappings":"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","ignoreList":[]}
@@ -3,15 +3,34 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.getIncomingCallForegroundServiceTypes = getIncomingCallForegroundServiceTypes;
7
+ exports.getKeepCallAliveForegroundServiceTypes = getKeepCallAliveForegroundServiceTypes;
6
8
  exports.getNotifeeLibNoThrowForKeepCallAlive = getNotifeeLibNoThrowForKeepCallAlive;
7
9
  exports.getNotifeeLibThrowIfNotInstalledForPush = getNotifeeLibThrowIfNotInstalledForPush;
10
+ var _videoClient = require("@stream-io/video-client");
8
11
  var _reactNative = require("react-native");
9
- var _ = require("../../..");
12
+ var AndroidForegroundServiceType = /*#__PURE__*/function (AndroidForegroundServiceType) {
13
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_CAMERA"] = 64] = "FOREGROUND_SERVICE_TYPE_CAMERA";
14
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE"] = 16] = "FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE";
15
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_DATA_SYNC"] = 1] = "FOREGROUND_SERVICE_TYPE_DATA_SYNC";
16
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_HEALTH"] = 256] = "FOREGROUND_SERVICE_TYPE_HEALTH";
17
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_LOCATION"] = 8] = "FOREGROUND_SERVICE_TYPE_LOCATION";
18
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK"] = 2] = "FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK";
19
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION"] = 32] = "FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION";
20
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING"] = 8192] = "FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING";
21
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MICROPHONE"] = 128] = "FOREGROUND_SERVICE_TYPE_MICROPHONE";
22
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_PHONE_CALL"] = 4] = "FOREGROUND_SERVICE_TYPE_PHONE_CALL";
23
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING"] = 512] = "FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING";
24
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_SHORT_SERVICE"] = 2048] = "FOREGROUND_SERVICE_TYPE_SHORT_SERVICE";
25
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_SPECIAL_USE"] = 1073741824] = "FOREGROUND_SERVICE_TYPE_SPECIAL_USE";
26
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED"] = 1024] = "FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED";
27
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MANIFEST"] = -1] = "FOREGROUND_SERVICE_TYPE_MANIFEST";
28
+ return AndroidForegroundServiceType;
29
+ }(AndroidForegroundServiceType || {});
10
30
  let notifeeLib;
11
31
  try {
12
32
  notifeeLib = require('@notifee/react-native');
13
33
  } catch (_e) {}
14
- const isAndroid7OrBelow = _reactNative.Platform.OS === 'android' && _reactNative.Platform.Version < 26;
15
34
  const INSTALLATION_INSTRUCTION = 'Please see https://notifee.app/react-native/docs/installation for installation instructions';
16
35
  function getNotifeeLibThrowIfNotInstalledForPush() {
17
36
  if (!notifeeLib) {
@@ -20,10 +39,36 @@ function getNotifeeLibThrowIfNotInstalledForPush() {
20
39
  return notifeeLib;
21
40
  }
22
41
  function getNotifeeLibNoThrowForKeepCallAlive() {
23
- if (!notifeeLib && isAndroid7OrBelow) {
24
- const logger = (0, _.getLogger)(['getNotifeeLibNoThrow']);
25
- logger('info', `${'@notifee/react-native library not installed. It is required to keep call alive in the background for Android < 26. '}${INSTALLATION_INSTRUCTION}`);
42
+ if (!notifeeLib) {
43
+ const logger = (0, _videoClient.getLogger)(['getNotifeeLibNoThrow']);
44
+ logger('info', `${'@notifee/react-native library not installed. It is required to keep call alive in the background for Android. '}${INSTALLATION_INSTRUCTION}`);
26
45
  }
27
46
  return notifeeLib;
28
47
  }
48
+ async function getKeepCallAliveForegroundServiceTypes() {
49
+ const types = [];
50
+ const hasCameraPermission = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.CAMERA);
51
+ if (hasCameraPermission) {
52
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_CAMERA);
53
+ }
54
+ const hasMicrophonePermission = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.RECORD_AUDIO);
55
+ if (hasMicrophonePermission) {
56
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_MICROPHONE);
57
+ }
58
+ const hasConnectionPermission = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT);
59
+ if (hasConnectionPermission) {
60
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE);
61
+ }
62
+ if (types.length === 0) {
63
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_DATA_SYNC);
64
+ }
65
+ console.log({
66
+ types
67
+ });
68
+ return types;
69
+ }
70
+ function getIncomingCallForegroundServiceTypes() {
71
+ const types = [AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_SHORT_SERVICE];
72
+ return types;
73
+ }
29
74
  //# sourceMappingURL=notifee.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_","notifeeLib","_e","isAndroid7OrBelow","Platform","OS","Version","INSTALLATION_INSTRUCTION","getNotifeeLibThrowIfNotInstalledForPush","Error","getNotifeeLibNoThrowForKeepCallAlive","logger","getLogger"],"sourceRoot":"../../../../../src","sources":["utils/push/libs/notifee.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,CAAA,GAAAD,OAAA;AAIA,IAAIE,UAAkC;AAEtC,IAAI;EACFA,UAAU,GAAGF,OAAO,CAAC,uBAAuB,CAAC;AAC/C,CAAC,CAAC,OAAOG,EAAE,EAAE,CAAC;AAEd,MAAMC,iBAAiB,GAAGC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAID,qBAAQ,CAACE,OAAO,GAAG,EAAE;AAE5E,MAAMC,wBAAwB,GAC5B,6FAA6F;AAExF,SAASC,uCAAuCA,CAAA,EAAG;EACxD,IAAI,CAACP,UAAU,EAAE;IACf,MAAMQ,KAAK,CACT,8FAA8F,GAC5FF,wBACJ,CAAC;EACH;EACA,OAAON,UAAU;AACnB;AAEO,SAASS,oCAAoCA,CAAA,EAAG;EACrD,IAAI,CAACT,UAAU,IAAIE,iBAAiB,EAAE;IACpC,MAAMQ,MAAM,GAAG,IAAAC,WAAS,EAAC,CAAC,sBAAsB,CAAC,CAAC;IAClDD,MAAM,CACJ,MAAM,EACN,GAAG,qHAAqH,GAAGJ,wBAAwB,EACrJ,CAAC;EACH;EACA,OAAON,UAAU;AACnB","ignoreList":[]}
1
+ {"version":3,"names":["_videoClient","require","_reactNative","AndroidForegroundServiceType","notifeeLib","_e","INSTALLATION_INSTRUCTION","getNotifeeLibThrowIfNotInstalledForPush","Error","getNotifeeLibNoThrowForKeepCallAlive","logger","getLogger","getKeepCallAliveForegroundServiceTypes","types","hasCameraPermission","PermissionsAndroid","check","PERMISSIONS","CAMERA","push","FOREGROUND_SERVICE_TYPE_CAMERA","hasMicrophonePermission","RECORD_AUDIO","FOREGROUND_SERVICE_TYPE_MICROPHONE","hasConnectionPermission","BLUETOOTH_CONNECT","FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE","length","FOREGROUND_SERVICE_TYPE_DATA_SYNC","console","log","getIncomingCallForegroundServiceTypes","FOREGROUND_SERVICE_TYPE_SHORT_SERVICE"],"sourceRoot":"../../../../../src","sources":["utils/push/libs/notifee.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAkD,IAI7CE,4BAA4B,0BAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAAA,OAA5BA,4BAA4B;AAAA,EAA5BA,4BAA4B;AAkBjC,IAAIC,UAAkC;AAEtC,IAAI;EACFA,UAAU,GAAGH,OAAO,CAAC,uBAAuB,CAAC;AAC/C,CAAC,CAAC,OAAOI,EAAE,EAAE,CAAC;AAEd,MAAMC,wBAAwB,GAC5B,6FAA6F;AAExF,SAASC,uCAAuCA,CAAA,EAAG;EACxD,IAAI,CAACH,UAAU,EAAE;IACf,MAAMI,KAAK,CACT,8FAA8F,GAC5FF,wBACJ,CAAC;EACH;EACA,OAAOF,UAAU;AACnB;AAEO,SAASK,oCAAoCA,CAAA,EAAG;EACrD,IAAI,CAACL,UAAU,EAAE;IACf,MAAMM,MAAM,GAAG,IAAAC,sBAAS,EAAC,CAAC,sBAAsB,CAAC,CAAC;IAClDD,MAAM,CACJ,MAAM,EACN,GAAG,gHAAgH,GAAGJ,wBAAwB,EAChJ,CAAC;EACH;EACA,OAAOF,UAAU;AACnB;AAEO,eAAeQ,sCAAsCA,CAAA,EAAG;EAC7D,MAAMC,KAAqC,GAAG,EAAE;EAChD,MAAMC,mBAAmB,GAAG,MAAMC,+BAAkB,CAACC,KAAK,CACxDD,+BAAkB,CAACE,WAAW,CAACC,MACjC,CAAC;EACD,IAAIJ,mBAAmB,EAAE;IACvBD,KAAK,CAACM,IAAI,CAAChB,4BAA4B,CAACiB,8BAA8B,CAAC;EACzE;EACA,MAAMC,uBAAuB,GAAG,MAAMN,+BAAkB,CAACC,KAAK,CAC5DD,+BAAkB,CAACE,WAAW,CAACK,YACjC,CAAC;EACD,IAAID,uBAAuB,EAAE;IAC3BR,KAAK,CAACM,IAAI,CAAChB,4BAA4B,CAACoB,kCAAkC,CAAC;EAC7E;EACA,MAAMC,uBAAuB,GAAG,MAAMT,+BAAkB,CAACC,KAAK,CAC5DD,+BAAkB,CAACE,WAAW,CAACQ,iBACjC,CAAC;EACD,IAAID,uBAAuB,EAAE;IAC3BX,KAAK,CAACM,IAAI,CACRhB,4BAA4B,CAACuB,wCAC/B,CAAC;EACH;EACA,IAAIb,KAAK,CAACc,MAAM,KAAK,CAAC,EAAE;IACtBd,KAAK,CAACM,IAAI,CAAChB,4BAA4B,CAACyB,iCAAiC,CAAC;EAC5E;EACAC,OAAO,CAACC,GAAG,CAAC;IAAEjB;EAAM,CAAC,CAAC;EACtB,OAAOA,KAAK;AACd;AAEO,SAASkB,qCAAqCA,CAAA,EAAG;EACtD,MAAMlB,KAAqC,GAAG,CAC5CV,4BAA4B,CAAC6B,qCAAqC,CACnE;EACD,OAAOnB,KAAK;AACd","ignoreList":[]}
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '1.2.15';
7
+ const version = exports.version = '1.2.18';
8
8
  //# sourceMappingURL=version.js.map
@@ -3,11 +3,9 @@ import { useEffect, useRef } from 'react';
3
3
  import { StreamVideoRN } from '../utils';
4
4
  import { Platform } from 'react-native';
5
5
  import { CallingState, getLogger } from '@stream-io/video-client';
6
- import { getNotifeeLibNoThrowForKeepCallAlive } from '../utils/push/libs/notifee';
7
- const isAndroid7OrBelow = Platform.OS === 'android' && Platform.Version < 26;
6
+ import { getNotifeeLibNoThrowForKeepCallAlive, getKeepCallAliveForegroundServiceTypes } from '../utils/push/libs/notifee';
8
7
  const notifeeLib = getNotifeeLibNoThrowForKeepCallAlive();
9
8
  function setForegroundService() {
10
- if (!isAndroid7OrBelow) return;
11
9
  notifeeLib?.default.registerForegroundService(() => {
12
10
  return new Promise(() => {
13
11
  const logger = getLogger(['setForegroundService method']);
@@ -16,7 +14,6 @@ function setForegroundService() {
16
14
  });
17
15
  }
18
16
  async function startForegroundService(call_cid) {
19
- if (!isAndroid7OrBelow) return;
20
17
  const foregroundServiceConfig = StreamVideoRN.getConfig().foregroundService;
21
18
  const {
22
19
  title,
@@ -31,11 +28,16 @@ async function startForegroundService(call_cid) {
31
28
  logger('info', 'Notification permission not granted, can not start foreground service to keep the call alive');
32
29
  return;
33
30
  }
31
+ const channelId = foregroundServiceConfig.android.channel.id;
32
+ await notifeeLib.default.createChannel(foregroundServiceConfig.android.channel);
33
+ const foregroundServiceTypes = await getKeepCallAliveForegroundServiceTypes();
34
34
  await notifeeLib.default.displayNotification({
35
35
  id: call_cid,
36
36
  title,
37
37
  body,
38
38
  android: {
39
+ channelId,
40
+ foregroundServiceTypes,
39
41
  asForegroundService: true,
40
42
  ongoing: true,
41
43
  // user cannot dismiss the notification
@@ -55,10 +57,10 @@ let isSetForegroundServiceRan = false;
55
57
  * This hook is used to keep the call alive in the background for Android.
56
58
  * It starts a foreground service to keep the call alive as soon as the call is joined
57
59
  * and stops the foreground Service when the call is left.
58
- * Additonally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
60
+ * Additionally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
59
61
  */
60
62
  export const useAndroidKeepCallAliveEffect = () => {
61
- if (!isSetForegroundServiceRan && isAndroid7OrBelow) {
63
+ if (!isSetForegroundServiceRan) {
62
64
  isSetForegroundServiceRan = true;
63
65
  setForegroundService();
64
66
  }
@@ -69,10 +71,10 @@ export const useAndroidKeepCallAliveEffect = () => {
69
71
  } = useCallStateHooks();
70
72
  const callingState = useCallCallingState();
71
73
  useEffect(() => {
72
- if (!notifeeLib) return;
73
74
  if (Platform.OS === 'ios' || !activeCallCid) {
74
75
  return;
75
76
  }
77
+ if (!notifeeLib) return;
76
78
 
77
79
  // start foreground service as soon as the call is joined
78
80
  if (callingState === CallingState.JOINED) {
@@ -1 +1 @@
1
- {"version":3,"names":["useCall","useCallStateHooks","useEffect","useRef","StreamVideoRN","Platform","CallingState","getLogger","getNotifeeLibNoThrowForKeepCallAlive","isAndroid7OrBelow","OS","Version","notifeeLib","setForegroundService","default","registerForegroundService","Promise","logger","startForegroundService","call_cid","foregroundServiceConfig","getConfig","foregroundService","title","body","android","notificationTexts","settings","getNotificationSettings","authorizationStatus","AuthorizationStatus","AUTHORIZED","displayNotification","id","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","activeCallCid","cid","useCallCallingState","callingState","JOINED","run","current","notifee","getDisplayedNotifications","then","displayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","RINGING","IDLE","LEFT"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCall","useCallStateHooks","useEffect","useRef","StreamVideoRN","Platform","CallingState","getLogger","getNotifeeLibNoThrowForKeepCallAlive","getKeepCallAliveForegroundServiceTypes","notifeeLib","setForegroundService","default","registerForegroundService","Promise","logger","startForegroundService","call_cid","foregroundServiceConfig","getConfig","foregroundService","title","body","android","notificationTexts","settings","getNotificationSettings","authorizationStatus","AuthorizationStatus","AUTHORIZED","channelId","channel","id","createChannel","foregroundServiceTypes","displayNotification","asForegroundService","ongoing","colorized","pressAction","launchActivity","isSetForegroundServiceRan","useAndroidKeepCallAliveEffect","foregroundServiceStartedRef","activeCallCid","cid","useCallCallingState","callingState","OS","JOINED","run","current","notifee","getDisplayedNotifications","then","displayedNotifications","activeCallNotification","find","notification","stopForegroundService","cancelDisplayedNotification","RINGING","IDLE","LEFT"],"sourceRoot":"../../../src","sources":["hooks/useAndroidKeepCallAliveEffect.ts"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,13 @@ import newNotificationCallbacks from '../internal/newNotificationCallbacks';
5
5
  const DEFAULT_STREAM_VIDEO_CONFIG = {
6
6
  foregroundService: {
7
7
  android: {
8
+ channel: {
9
+ id: 'stream_call_foreground_service',
10
+ name: 'To keep calls alive',
11
+ lights: false,
12
+ vibration: false,
13
+ importance: 3
14
+ },
8
15
  notificationTexts: {
9
16
  title: 'Call in progress',
10
17
  body: 'Tap to return to the call'
@@ -1 +1 @@
1
- {"version":3,"names":["setupFirebaseHandlerAndroid","pushLogoutCallbacks","setupRemoteNotificationsHandleriOS","newNotificationCallbacks","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","notificationTexts","title","body","StreamVideoRN","config","updateConfig","updateAndroidIncomingCallChannel","updateChannel","prevChannel","push","incomingCallChannel","setPushConfig","pushConfig","getConfig","onPushLogout","current","Promise","all","map","callback","then","resolve","addOnNewCallNotificationListener","filter","cb"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ,iBAAiB;AAE7D,OAAOC,mBAAmB,MAAM,gCAAgC;AAChE,SAASC,kCAAkC,QAAQ,aAAa;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,IAAI,CAACL,MAAM,CAACK,IAAI,GAAGG,UAAU;IAC7B;IACAnB,2BAA2B,CAACmB,UAAU,CAAC;IACvC;IACAjB,kCAAkC,CAACiB,UAAU,CAAC;EAChD;EAEA,OAAOC,SAASA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACT,MAAM;EACpB;;EAEA;AACF;AACA;AACA;EACE,OAAOU,YAAYA,CAAA,EAAG;IACpB,IAAIpB,mBAAmB,CAACqB,OAAO,EAAE;MAC/B,OAAOC,OAAO,CAACC,GAAG,CAChBvB,mBAAmB,CAACqB,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,CAACvB,wBAAwB,CAACmB,OAAO,EAAE;MACrCnB,wBAAwB,CAACmB,OAAO,GAAG,CAACI,QAAQ,CAAC;IAC/C,CAAC,MAAM;MACLvB,wBAAwB,CAACmB,OAAO,CAACN,IAAI,CAACU,QAAQ,CAAC;IACjD;IACA,OAAO,MAAM;MACXvB,wBAAwB,CAACmB,OAAO,GAC9BnB,wBAAwB,CAACmB,OAAO,EAAEQ,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKL,QAAQ,CAAC;IACrE,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"names":["setupFirebaseHandlerAndroid","pushLogoutCallbacks","setupRemoteNotificationsHandleriOS","newNotificationCallbacks","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","lights","vibration","importance","notificationTexts","title","body","StreamVideoRN","config","updateConfig","updateAndroidIncomingCallChannel","updateChannel","prevChannel","push","incomingCallChannel","setPushConfig","pushConfig","getConfig","onPushLogout","current","Promise","all","map","callback","then","resolve","addOnNewCallNotificationListener","filter","cb"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ,iBAAiB;AAE7D,OAAOC,mBAAmB,MAAM,gCAAgC;AAChE,SAASC,kCAAkC,QAAQ,aAAa;AAChE,OAAOC,wBAAwB,MAExB,sCAAsC;AAE7C,MAAMC,2BAA8C,GAAG;EACrDC,iBAAiB,EAAE;IACjBC,OAAO,EAAE;MACPC,OAAO,EAAE;QACPC,EAAE,EAAE,gCAAgC;QACpCC,IAAI,EAAE,qBAAqB;QAC3BC,MAAM,EAAE,KAAK;QACbC,SAAS,EAAE,KAAK;QAChBC,UAAU,EAAE;MACd,CAAC;MACDC,iBAAiB,EAAE;QACjBC,KAAK,EAAE,kBAAkB;QACzBC,IAAI,EAAE;MACR;IACF;EACF;AACF,CAAC;AAED,OAAO,MAAMC,aAAa,CAAC;EACzB,OAAeC,MAAM,GAAGb,2BAA2B;;EAEnD;AACF;AACA;AACA;AACA;EACE,OAAOc,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,EAAEhB,OAAO,EAAEiB,mBAAmB;IAClE,IAAIF,WAAW,EAAE;MACf,IAAI,CAACJ,MAAM,CAACK,IAAI,CAAEhB,OAAO,CAACiB,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,IAAI,CAACL,MAAM,CAACK,IAAI,GAAGG,UAAU;IAC7B;IACAzB,2BAA2B,CAACyB,UAAU,CAAC;IACvC;IACAvB,kCAAkC,CAACuB,UAAU,CAAC;EAChD;EAEA,OAAOC,SAASA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACT,MAAM;EACpB;;EAEA;AACF;AACA;AACA;EACE,OAAOU,YAAYA,CAAA,EAAG;IACpB,IAAI1B,mBAAmB,CAAC2B,OAAO,EAAE;MAC/B,OAAOC,OAAO,CAACC,GAAG,CAChB7B,mBAAmB,CAAC2B,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,CAAC7B,wBAAwB,CAACyB,OAAO,EAAE;MACrCzB,wBAAwB,CAACyB,OAAO,GAAG,CAACI,QAAQ,CAAC;IAC/C,CAAC,MAAM;MACL7B,wBAAwB,CAACyB,OAAO,CAACN,IAAI,CAACU,QAAQ,CAAC;IACjD;IACA,OAAO,MAAM;MACX7B,wBAAwB,CAACyB,OAAO,GAC9BzB,wBAAwB,CAACyB,OAAO,EAAEQ,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKL,QAAQ,CAAC;IACrE,CAAC;EACH;AACF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { RxUtils, getLogger } from '@stream-io/video-client';
1
+ import { CallingState, RxUtils, getLogger } from '@stream-io/video-client';
2
2
  import { AppState, Platform } from 'react-native';
3
- import { getFirebaseMessagingLib, getFirebaseMessagingLibNoThrow, getExpoNotificationsLib, getExpoTaskManagerLib, getNotifeeLibThrowIfNotInstalledForPush } from './libs';
3
+ import { getFirebaseMessagingLib, getFirebaseMessagingLibNoThrow, getExpoNotificationsLib, getExpoTaskManagerLib, getNotifeeLibThrowIfNotInstalledForPush, getIncomingCallForegroundServiceTypes } from './libs';
4
4
  import { pushAcceptedIncomingCallCId$, pushRejectedIncomingCallCId$, pushTappedIncomingCallCId$, pushNonRingingCallData$, pushUnsubscriptionCallbacks$, pushAndroidBackgroundDeliveredIncomingCallCId$ } from './rxSubjects';
5
5
  import { canAddPushWSSubscriptionsRef, clearPushWSEventSubscriptions, processCallFromPushInBackground, shouldCallBeEnded } from './utils';
6
6
  import { setPushLogoutCallback } from '../internal/pushLogoutCallback';
@@ -152,12 +152,12 @@ const firebaseMessagingOnMessageHandler = async (data, pushConfig) => {
152
152
  const call_cid = data.call_cid;
153
153
  const created_by_id = data.created_by_id;
154
154
  const receiver_id = data.receiver_id;
155
- function shouldCallBeClosed(callToCheck) {
155
+ const shouldCallBeClosed = callToCheck => {
156
156
  const {
157
157
  mustEndCall
158
158
  } = shouldCallBeEnded(callToCheck, created_by_id, receiver_id);
159
159
  return mustEndCall;
160
- }
160
+ };
161
161
  const canListenToWS = () => canAddPushWSSubscriptionsRef.current && AppState.currentState !== 'active';
162
162
  const asForegroundService = canListenToWS();
163
163
  const notifeeLib = getNotifeeLibThrowIfNotInstalledForPush();
@@ -177,14 +177,25 @@ const firebaseMessagingOnMessageHandler = async (data, pushConfig) => {
177
177
  notifee.stopForegroundService();
178
178
  return;
179
179
  }
180
+ const unsubscribeFunctions = [];
181
+ // check if service needs to be closed if accept/decline event was done on another device
180
182
  const unsubscribe = callFromPush.on('all', () => {
181
183
  if (!canListenToWS() || shouldCallBeClosed(callFromPush)) {
182
- unsubscribe();
184
+ unsubscribeFunctions.forEach(fn => fn());
185
+ notifee.stopForegroundService();
186
+ }
187
+ });
188
+ // check if service needs to be closed if call was left
189
+ const subscription = callFromPush.state.callingState$.subscribe(callingState => {
190
+ if (callingState === CallingState.IDLE || callingState === CallingState.LEFT) {
191
+ unsubscribeFunctions.forEach(fn => fn());
183
192
  notifee.stopForegroundService();
184
193
  }
185
194
  });
195
+ unsubscribeFunctions.push(unsubscribe);
196
+ unsubscribeFunctions.push(() => subscription.unsubscribe());
186
197
  const unsubscriptionCallbacks = RxUtils.getCurrentValue(pushUnsubscriptionCallbacks$) ?? [];
187
- pushUnsubscriptionCallbacks$.next([...unsubscriptionCallbacks, unsubscribe]);
198
+ pushUnsubscriptionCallbacks$.next([...unsubscriptionCallbacks, ...unsubscribeFunctions]);
188
199
  });
189
200
  });
190
201
  }
@@ -217,6 +228,7 @@ const firebaseMessagingOnMessageHandler = async (data, pushConfig) => {
217
228
  data,
218
229
  android: {
219
230
  channelId,
231
+ foregroundServiceTypes: getIncomingCallForegroundServiceTypes(),
220
232
  asForegroundService,
221
233
  sound: incomingCallChannel.sound,
222
234
  vibrationPattern: incomingCallChannel.vibrationPattern,
@@ -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":["CallingState","RxUtils","getLogger","AppState","Platform","getFirebaseMessagingLib","getFirebaseMessagingLibNoThrow","getExpoNotificationsLib","getExpoTaskManagerLib","getNotifeeLibThrowIfNotInstalledForPush","getIncomingCallForegroundServiceTypes","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","unsubscribeFunctions","on","forEach","fn","state","callingState$","subscribe","callingState","IDLE","LEFT","push","unsubscriptionCallbacks","getCurrentValue","next","incomingCallChannel","incomingCallNotificationTextGetters","sound","createChannel","getTitle","getBody","createdUserName","created_by_display_name","channelId","displayNotification","title","body","foregroundServiceTypes","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":"AACA,SAEEA,YAAY,EACZC,OAAO,EAEPC,SAAS,QACJ,yBAAyB;AAChC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,cAAc;AAKjD,SACEC,uBAAuB,EACvBC,8BAA8B,EAC9BC,uBAAuB,EACvBC,qBAAqB,EACrBC,uCAAuC,EAEvCC,qCAAqC,QAChC,QAAQ;AACf,SACEC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,0BAA0B,EAC1BC,uBAAuB,EACvBC,4BAA4B,EAC5BC,8CAA8C,QACzC,cAAc;AACrB,SACEC,4BAA4B,EAC5BC,6BAA6B,EAC7BC,+BAA+B,EAC/BC,iBAAiB,QACZ,SAAS;AAChB,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,4BAA4B,QAAQ,iCAAiC;AAE9E,MAAMC,qBAAqB,GAAG,QAAQ;AACtC,MAAMC,sBAAsB,GAAG,SAAS;AAUxC,IAAIC,iBAAiB,GAAG;EAAEC,KAAK,EAAE,EAAE;EAAEC,MAAM,EAAE;AAAG,CAAC;;AAEjD;;AAEA;AACA,OAAO,SAASC,2BAA2BA,CAACC,UAAsB,EAAE;EAClE,IAAIzB,QAAQ,CAAC0B,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EACA,IAAID,UAAU,CAACE,MAAM,EAAE;IACrB,MAAMC,SAAS,GAAG1B,8BAA8B,CAAC,IAAI,CAAC;IACtD,IAAI0B,SAAS,EAAE;MACb;MACAA,SAAS,CAAC,CAAC,CAACC,2BAA2B,CACrC,MAAOC,GAAG,IACR,MAAMC,iCAAiC,CAACD,GAAG,CAACE,IAAI,EAAEP,UAAU,CAChE,CAAC;MACDG,SAAS,CAAC,CAAC,CAACK,SAAS,CAAEH,GAAG,IACxBC,iCAAiC,CAACD,GAAG,CAACE,IAAI,EAAEP,UAAU,CACxD,CAAC,CAAC,CAAC;IACL,CAAC,MAAM;MACL,MAAMS,aAAa,GAAG/B,uBAAuB,CAAC,CAAC;MAC/C,MAAMgC,WAAW,GAAG/B,qBAAqB,CAAC,CAAC;MAC3C,MAAMgC,4BAA4B,GAChC,wDAAwD;MAE1DD,WAAW,CAACE,UAAU,CACpBD,4BAA4B,EAC5B,CAAC;QAAEJ,IAAI;QAAEM;MAAM,CAAC,KAAK;QACnB,IAAIA,KAAK,EAAE;UACT;QACF;QACA;QACA,MAAMC,aAAa,GAAGP,IAAI,CAACQ,YAAY,EAAER,IAAI;QAC7CD,iCAAiC,CAACQ,aAAa,EAAEd,UAAU,CAAC;MAC9D,CACF,CAAC;MACD;MACAS,aAAa,CAACO,iBAAiB,CAACL,4BAA4B,CAAC;MAC7D;MACAF,aAAa,CAACQ,sBAAsB,CAAC;QACnCC,kBAAkB,EAAE,MAAOH,YAAY,IAAK;UAC1C;UACA,MAAMI,OAAO,GAAGJ,YAAY,EAAEK,OAAO,EAAED,OAAO;UAC9C,IAAIA,OAAO,CAACE,IAAI,KAAK,MAAM,EAAE;YAC3B,MAAMd,IAAI,GAAGY,OAAO,EAAEG,aAAa,EAAEf,IAAI;YACzC,IAAIA,IAAI,EAAEgB,MAAM,KAAK,cAAc,EAAE;cACnC,MAAMjB,iCAAiC,CAACC,IAAI,EAAEP,UAAU,CAAC;cACzD,OAAO;gBACLwB,eAAe,EAAE,KAAK;gBACtBC,eAAe,EAAE,KAAK;gBACtBC,cAAc,EAAE;cAClB,CAAC;YACH;UACF;UACA,OAAO;YACLF,eAAe,EAAE,IAAI;YACrBC,eAAe,EAAE,KAAK;YACtBC,cAAc,EAAE;UAClB,CAAC;QACH;MACF,CAAC,CAAC;IACJ;EACF,CAAC,MAAM;IACL,MAAMvB,SAAS,GAAG3B,uBAAuB,CAAC,CAAC;IAC3C2B,SAAS,CAAC,CAAC,CAACC,2BAA2B,CACrC,MAAOC,GAAG,IACR,MAAMC,iCAAiC,CAACD,GAAG,CAACE,IAAI,EAAEP,UAAU,CAChE,CAAC;IACDG,SAAS,CAAC,CAAC,CAACK,SAAS,CAAEH,GAAG,IACxBC,iCAAiC,CAACD,GAAG,CAACE,IAAI,EAAEP,UAAU,CACxD,CAAC,CAAC,CAAC;EACL;;EAEA;EACA,MAAM2B,UAAU,GAAG/C,uCAAuC,CAAC,CAAC;EAC5D,MAAMgD,OAAO,GAAGD,UAAU,CAACE,OAAO;EAClCD,OAAO,CAACE,iBAAiB,CAAC,MAAOC,KAAK,IAAK;IACzC,MAAMC,cAAc,CAACD,KAAK,EAAE/B,UAAU,EAAE,IAAI,CAAC;EAC/C,CAAC,CAAC;EACF4B,OAAO,CAACK,iBAAiB,CAAEF,KAAK,IAAK;IACnCC,cAAc,CAACD,KAAK,EAAE/B,UAAU,EAAE,KAAK,CAAC;EAC1C,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,eAAekC,oBAAoBA,CACxCC,MAAyB,EACzBnC,UAAsB,EACtBoC,sBAAyD,EACzD;EACA,IAAI7D,QAAQ,CAAC0B,EAAE,KAAK,SAAS,IAAI,CAACD,UAAU,CAACqC,OAAO,CAACC,gBAAgB,EAAE;IACrE;EACF;EACA,MAAMC,cAAc,GAAG,MAAO1C,KAAa,IAAK;IAC9C,MAAMC,MAAM,GAAGqC,MAAM,CAACK,YAAY,CAACC,KAAK,EAAEC,EAAE,IAAI,EAAE;IAClD,IACE9C,iBAAiB,CAACC,KAAK,KAAKA,KAAK,IACjCD,iBAAiB,CAACE,MAAM,KAAKA,MAAM,EACnC;MACA;IACF;IACAF,iBAAiB,GAAG;MAAEC,KAAK;MAAEC;IAAO,CAAC;IACrCN,qBAAqB,CAAC,YAAY;MAChCI,iBAAiB,GAAG;QAAEC,KAAK,EAAE,EAAE;QAAEC,MAAM,EAAE;MAAG,CAAC;MAC7C,IAAI;QACF,MAAMqC,MAAM,CAACQ,YAAY,CAAC9C,KAAK,CAAC;MAClC,CAAC,CAAC,OAAO+C,GAAG,EAAE;QACZ,MAAMC,MAAM,GAAGxE,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAClDwE,MAAM,CAAC,MAAM,EAAE,6CAA6C,EAAED,GAAG,CAAC;MACpE;IACF,CAAC,CAAC;IACF,MAAME,kBAAkB,GAAG9C,UAAU,CAACqC,OAAO,CAACC,gBAAgB;IAC9D,MAAMH,MAAM,CAACY,SAAS,CAAClD,KAAK,EAAE,UAAU,EAAEiD,kBAAkB,CAAC;EAC/D,CAAC;EACD,IAAI9C,UAAU,CAACE,MAAM,EAAE;IACrB,MAAM8C,oBAAoB,GAAGtE,uBAAuB,CAAC,CAAC;IACtD,MAAMuE,YAAY,GAAGD,oBAAoB,CAACE,oBAAoB,CAC3DC,eAAe,IAAK;MACnBZ,cAAc,CAACY,eAAe,CAAC5C,IAAI,CAAC;IACtC,CACF,CAAC;IACD6B,sBAAsB,CAAC,MAAMa,YAAY,CAACG,MAAM,CAAC,CAAC,CAAC;IACnD,MAAMD,eAAe,GACnB,MAAMH,oBAAoB,CAACK,uBAAuB,CAAC,CAAC;IACtD,MAAMxD,KAAK,GAAGsD,eAAe,CAAC5C,IAAI;IAClC,MAAMgC,cAAc,CAAC1C,KAAK,CAAC;EAC7B,CAAC,MAAM;IACL,MAAMM,SAAS,GAAG3B,uBAAuB,CAAC,CAAC;IAC3C,MAAM8E,WAAW,GAAGnD,SAAS,CAAC,CAAC,CAACoD,cAAc,CAAEC,cAAc,IAC5DjB,cAAc,CAACiB,cAAc,CAC/B,CAAC;IACDpB,sBAAsB,CAACkB,WAAW,CAAC;IACnC,MAAMzD,KAAK,GAAG,MAAMM,SAAS,CAAC,CAAC,CAACsD,QAAQ,CAAC,CAAC;IAC1C,MAAMlB,cAAc,CAAC1C,KAAK,CAAC;EAC7B;AACF;AAEA,MAAMS,iCAAiC,GAAG,MAAAA,CACxCC,IAAkD,EAClDP,UAAsB,KACnB;EACH;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAI,CAACO,IAAI,IAAIA,IAAI,CAACgB,MAAM,KAAK,cAAc,EAAE;IAC3C;EACF;EAEA,IAAIhB,IAAI,CAACc,IAAI,KAAK,WAAW,EAAE;IAC7B,MAAMqC,QAAQ,GAAGnD,IAAI,CAACmD,QAAkB;IACxC,MAAMC,aAAa,GAAGpD,IAAI,CAACoD,aAAuB;IAClD,MAAMC,WAAW,GAAGrD,IAAI,CAACqD,WAAqB;IAE9C,MAAMC,kBAAkB,GAAIC,WAAiB,IAAK;MAChD,MAAM;QAAEC;MAAY,CAAC,GAAGxE,iBAAiB,CACvCuE,WAAW,EACXH,aAAa,EACbC,WACF,CAAC;MACD,OAAOG,WAAW;IACpB,CAAC;IAED,MAAMC,aAAa,GAAGA,CAAA,KACpB5E,4BAA4B,CAAC6E,OAAO,IACpC3F,QAAQ,CAAC4F,YAAY,KAAK,QAAQ;IACpC,MAAMC,mBAAmB,GAAGH,aAAa,CAAC,CAAC;IAE3C,MAAMrC,UAAU,GAAG/C,uCAAuC,CAAC,CAAC;IAC5D,MAAMgD,OAAO,GAAGD,UAAU,CAACE,OAAO;IAElC,IAAIsC,mBAAmB,EAAE;MACvB;MACA;MACAvC,OAAO,CAACwC,yBAAyB,CAAC,MAAM;QACtC,OAAO,IAAIC,OAAO,CAAC,YAAY;UAC7B,MAAMlC,MAAM,GAAG,MAAMnC,UAAU,CAACsE,uBAAuB,CAAC,CAAC;UACzD,IAAI,CAACnC,MAAM,EAAE;YACXP,OAAO,CAAC2C,qBAAqB,CAAC,CAAC;YAC/B;UACF;UACA,MAAMC,YAAY,GAAG,MAAMrC,MAAM,CAACsC,aAAa,CAACf,QAAQ,CAAC;UACzD,IAAIG,kBAAkB,CAACW,YAAY,CAAC,EAAE;YACpC5C,OAAO,CAAC2C,qBAAqB,CAAC,CAAC;YAC/B;UACF;UACA,MAAMG,oBAAuC,GAAG,EAAE;UAClD;UACA,MAAMpB,WAAW,GAAGkB,YAAY,CAACG,EAAE,CAAC,KAAK,EAAE,MAAM;YAC/C,IAAI,CAACX,aAAa,CAAC,CAAC,IAAIH,kBAAkB,CAACW,YAAY,CAAC,EAAE;cACxDE,oBAAoB,CAACE,OAAO,CAAEC,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;cAC1CjD,OAAO,CAAC2C,qBAAqB,CAAC,CAAC;YACjC;UACF,CAAC,CAAC;UACF;UACA,MAAMtB,YAAY,GAAGuB,YAAY,CAACM,KAAK,CAACC,aAAa,CAACC,SAAS,CAC5DC,YAAY,IAAK;YAChB,IACEA,YAAY,KAAK9G,YAAY,CAAC+G,IAAI,IAClCD,YAAY,KAAK9G,YAAY,CAACgH,IAAI,EAClC;cACAT,oBAAoB,CAACE,OAAO,CAAEC,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;cAC1CjD,OAAO,CAAC2C,qBAAqB,CAAC,CAAC;YACjC;UACF,CACF,CAAC;UACDG,oBAAoB,CAACU,IAAI,CAAC9B,WAAW,CAAC;UACtCoB,oBAAoB,CAACU,IAAI,CAAC,MAAMnC,YAAY,CAACK,WAAW,CAAC,CAAC,CAAC;UAC3D,MAAM+B,uBAAuB,GAC3BjH,OAAO,CAACkH,eAAe,CAACpG,4BAA4B,CAAC,IAAI,EAAE;UAC7DA,4BAA4B,CAACqG,IAAI,CAAC,CAChC,GAAGF,uBAAuB,EAC1B,GAAGX,oBAAoB,CACxB,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IACA,MAAMc,mBAAmB,GAAGxF,UAAU,CAACqC,OAAO,CAACmD,mBAAmB;IAClE,MAAMC,mCAAmC,GACvCzF,UAAU,CAACqC,OAAO,CAACoD,mCAAmC;IACxD,IAAI,CAACD,mBAAmB,IAAI,CAACC,mCAAmC,EAAE;MAChE,MAAM5C,MAAM,GAAGxE,SAAS,CAAC,CAAC,mCAAmC,CAAC,CAAC;MAC/DwE,MAAM,CACJ,MAAM,EACN,uIACF,CAAC;MACD;IACF;IACA;AACJ;AACA;AACA;IACI;IACA,IAAI,CAAC2C,mBAAmB,CAACE,KAAK,EAAE;MAC9BF,mBAAmB,CAACE,KAAK,GAAG,MAAMjG,4BAA4B,CAAC,CAAC;IAClE;IACA,MAAMmC,OAAO,CAAC+D,aAAa,CAACH,mBAAmB,CAAC;IAChD,MAAM;MAAEI,QAAQ;MAAEC;IAAQ,CAAC,GAAGJ,mCAAmC;IACjE,MAAMK,eAAe,GAAGvF,IAAI,CAACwF,uBAAiC;IAE9D,MAAMC,SAAS,GAAGR,mBAAmB,CAAC9C,EAAE;IACxC,MAAMd,OAAO,CAACqE,mBAAmB,CAAC;MAChCvD,EAAE,EAAEgB,QAAQ;MACZwC,KAAK,EAAEN,QAAQ,CAACE,eAAe,CAAC;MAChCK,IAAI,EAAEN,OAAO,CAACC,eAAe,CAAC;MAC9BvF,IAAI;MACJ8B,OAAO,EAAE;QACP2D,SAAS;QACTI,sBAAsB,EAAEvH,qCAAqC,CAAC,CAAC;QAC/DsF,mBAAmB;QACnBuB,KAAK,EAAEF,mBAAmB,CAACE,KAAK;QAChCW,gBAAgB,EAAEb,mBAAmB,CAACa,gBAAgB;QACtDC,WAAW,EAAE;UACX5D,EAAE,EAAE,SAAS;UACb6D,cAAc,EAAE,SAAS,CAAE;QAC7B,CAAC;QACDC,OAAO,EAAE,CACP;UACEN,KAAK,EAAE,SAAS;UAChBI,WAAW,EAAE;YACX5D,EAAE,EAAE/C;UACN;QACF,CAAC,EACD;UACEuG,KAAK,EAAE,QAAQ;UACfI,WAAW,EAAE;YACX5D,EAAE,EAAEhD,qBAAqB;YACzB6G,cAAc,EAAE,SAAS,CAAE;UAC7B;QACF,CAAC,CACF;QACDE,QAAQ,EAAE9E,UAAU,CAAC+E,eAAe,CAACC,IAAI;QACzCC,gBAAgB,EAAE;UAChBlE,EAAE,EAAE;QACN,CAAC;QACDmE,YAAY,EAAE,KAAK,CAAE;MACvB;IACF,CAAC,CAAC;IAEF,IAAI1C,mBAAmB,EAAE;MACvB;MACA;IACF;;IAEA;IACA;IACA,MAAMhC,MAAM,GAAG,MAAMnC,UAAU,CAACsE,uBAAuB,CAAC,CAAC;IACzD,IAAI,CAACnC,MAAM,EAAE;MACX;IACF;IACA,MAAMqC,YAAY,GAAG,MAAMrC,MAAM,CAACsC,aAAa,CAACf,QAAQ,CAAC;IAEzD,IAAIG,kBAAkB,CAACW,YAAY,CAAC,EAAE;MACpC5C,OAAO,CAACkF,2BAA2B,CAACpD,QAAQ,CAAC;IAC/C;EACF,CAAC,MAAM;IACL,MAAM/B,UAAU,GAAG/C,uCAAuC,CAAC,CAAC;IAC5D,MAAMgD,OAAO,GAAGD,UAAU,CAACE,OAAO;IAClC;IACA,MAAMkF,WAAW,GAAG/G,UAAU,CAACqC,OAAO,CAAC0E,WAAW;IAClD,MAAMC,2BAA2B,GAC/BhH,UAAU,CAACqC,OAAO,CAAC2E,2BAA2B;IAChD,IAAI,CAACD,WAAW,IAAI,CAACC,2BAA2B,EAAE;MAChD,MAAMnE,MAAM,GAAGxE,SAAS,CAAC,CAAC,mCAAmC,CAAC,CAAC;MAC/DwE,MAAM,CACJ,MAAM,EACN,4GACF,CAAC;MACD;IACF;IACA,MAAMjB,OAAO,CAAC+D,aAAa,CAACoB,WAAW,CAAC;IACxC,MAAMf,SAAS,GAAGe,WAAW,CAACrE,EAAE;IAChC,MAAM;MAAEkD,QAAQ;MAAEC;IAAQ,CAAC,GAAGmB,2BAA2B;IACzD,MAAMlB,eAAe,GAAGvF,IAAI,CAACwF,uBAAiC;IAC9D;IACA,MAAM1E,IAAI,GAAGd,IAAI,CAACc,IAA2B;IAC7C,MAAMO,OAAO,CAACqE,mBAAmB,CAAC;MAChCC,KAAK,EAAEN,QAAQ,CAACvE,IAAI,EAAEyE,eAAe,CAAC;MACtCK,IAAI,EAAEN,OAAO,CAACxE,IAAI,EAAEyE,eAAe,CAAC;MACpCvF,IAAI;MACJ8B,OAAO,EAAE;QACPqD,KAAK,EAAEqB,WAAW,CAACrB,KAAK;QACxBW,gBAAgB,EAAEU,WAAW,CAACV,gBAAgB;QAC9CL,SAAS;QACTM,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,GAAG1G,IAAI,CAACmD,QAAkB;IACnCzE,uBAAuB,CAACsG,IAAI,CAAC;MAAE0B,GAAG;MAAE5F;IAAK,CAAC,CAAC;EAC7C;AACF,CAAC;AAED,MAAMW,cAAc,GAAG,MAAAA,CACrBD,KAAY,EACZ/B,UAAsB,EACtBkH,YAAqB,KAClB;EACH,MAAM;IAAE7F,IAAI;IAAE8F;EAAO,CAAC,GAAGpF,KAAK;EAC9B,MAAM;IAAEhB,YAAY;IAAEuF;EAAY,CAAC,GAAGa,MAAM;EAC5C,MAAMC,cAAc,GAAGrG,YAAY,EAAE2B,EAAE;EACvC,MAAMnC,IAAI,GAAGQ,YAAY,EAAER,IAAI;EAC/B,IAAI,CAACA,IAAI,IAAI,CAAC6G,cAAc,IAAI7G,IAAI,CAACgB,MAAM,KAAK,cAAc,EAAE;IAC9D;EACF;;EAEA;EACA,MAAMmC,QAAQ,GAAGnD,IAAI,CAACmD,QAAkB;EAExC,IAAInD,IAAI,CAACc,IAAI,KAAK,WAAW,EAAE;IAC7B;IACA,MAAMgG,YAAY,GAChBvI,4BAA4B,CAACwI,QAAQ,IACrCvI,4BAA4B,CAACuI,QAAQ;IAEvC,MAAM3F,UAAU,GAAG/C,uCAAuC,CAAC,CAAC;IAC5D,MAAMgD,OAAO,GAAGD,UAAU,CAACE,OAAO;IAClC;IACA,MAAM0F,eAAe,GACnBlG,IAAI,KAAKM,UAAU,CAAC6F,SAAS,CAACC,YAAY,IAC1CnB,WAAW,EAAE5D,EAAE,KAAK/C,sBAAsB;IAC5C,MAAM+H,UAAU,GAAGrG,IAAI,KAAKM,UAAU,CAAC6F,SAAS,CAACG,SAAS;IAC1D,MAAMC,WAAW,GAAGL,eAAe,IAAIG,UAAU;IACjD;IACA,MAAMG,UAAU,GACdxG,IAAI,KAAKM,UAAU,CAAC6F,SAAS,CAACC,YAAY,IAC1CnB,WAAW,EAAE5D,EAAE,KAAKhD,qBAAqB;IAE3C,IACEmI,UAAU,IACVD,WAAW,IACXvG,IAAI,KAAKM,UAAU,CAAC6F,SAAS,CAACC,YAAY,EAC1C;MACApI,6BAA6B,CAAC,CAAC;MAC/BuC,OAAO,CAAC2C,qBAAqB,CAAC,CAAC;IACjC;IAEA,IAAIsD,UAAU,EAAE;MACd/I,4BAA4B,CAACyG,IAAI,CAAC7B,QAAQ,CAAC;MAC3C;IACF,CAAC,MAAM,IAAIkE,WAAW,EAAE;MACtB7I,4BAA4B,CAACwG,IAAI,CAAC7B,QAAQ,CAAC;MAC3C,IAAI2D,YAAY,EAAE;QAChB;QACA;MACF;MACA,MAAM/H,+BAA+B,CAACU,UAAU,EAAE0D,QAAQ,EAAE,SAAS,CAAC;IACxE,CAAC,MAAM;MACL,IAAIrC,IAAI,KAAKM,UAAU,CAAC6F,SAAS,CAACM,KAAK,EAAE;QACvC9I,0BAA0B,CAACuG,IAAI,CAAC7B,QAAQ,CAAC;QACzC;MACF,CAAC,MAAM,IAAIwD,YAAY,IAAI7F,IAAI,KAAKM,UAAU,CAAC6F,SAAS,CAACO,SAAS,EAAE;QAClE5I,8CAA8C,CAACoG,IAAI,CAAC7B,QAAQ,CAAC;QAC7D;MACF;IACF;EACF,CAAC,MAAM;IACL,MAAM/B,UAAU,GAAG/C,uCAAuC,CAAC,CAAC;IAC5D,IAAIyC,IAAI,KAAKM,UAAU,CAAC6F,SAAS,CAACM,KAAK,EAAE;MACvC9I,0BAA0B,CAACuG,IAAI,CAAC7B,QAAQ,CAAC;MACzC1D,UAAU,CAACgI,+BAA+B,GACxCtE,QAAQ,EACRnD,IAAI,CAACc,IACP,CAAC;IACH;EACF;AACF,CAAC","ignoreList":[]}
@@ -1,10 +1,27 @@
1
- import { Platform } from 'react-native';
2
- import { getLogger } from '../../..';
1
+ import { getLogger } from '@stream-io/video-client';
2
+ import { PermissionsAndroid } from 'react-native';
3
+ var AndroidForegroundServiceType = /*#__PURE__*/function (AndroidForegroundServiceType) {
4
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_CAMERA"] = 64] = "FOREGROUND_SERVICE_TYPE_CAMERA";
5
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE"] = 16] = "FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE";
6
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_DATA_SYNC"] = 1] = "FOREGROUND_SERVICE_TYPE_DATA_SYNC";
7
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_HEALTH"] = 256] = "FOREGROUND_SERVICE_TYPE_HEALTH";
8
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_LOCATION"] = 8] = "FOREGROUND_SERVICE_TYPE_LOCATION";
9
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK"] = 2] = "FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK";
10
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION"] = 32] = "FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION";
11
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING"] = 8192] = "FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING";
12
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MICROPHONE"] = 128] = "FOREGROUND_SERVICE_TYPE_MICROPHONE";
13
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_PHONE_CALL"] = 4] = "FOREGROUND_SERVICE_TYPE_PHONE_CALL";
14
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING"] = 512] = "FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING";
15
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_SHORT_SERVICE"] = 2048] = "FOREGROUND_SERVICE_TYPE_SHORT_SERVICE";
16
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_SPECIAL_USE"] = 1073741824] = "FOREGROUND_SERVICE_TYPE_SPECIAL_USE";
17
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED"] = 1024] = "FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED";
18
+ AndroidForegroundServiceType[AndroidForegroundServiceType["FOREGROUND_SERVICE_TYPE_MANIFEST"] = -1] = "FOREGROUND_SERVICE_TYPE_MANIFEST";
19
+ return AndroidForegroundServiceType;
20
+ }(AndroidForegroundServiceType || {});
3
21
  let notifeeLib;
4
22
  try {
5
23
  notifeeLib = require('@notifee/react-native');
6
24
  } catch (_e) {}
7
- const isAndroid7OrBelow = Platform.OS === 'android' && Platform.Version < 26;
8
25
  const INSTALLATION_INSTRUCTION = 'Please see https://notifee.app/react-native/docs/installation for installation instructions';
9
26
  export function getNotifeeLibThrowIfNotInstalledForPush() {
10
27
  if (!notifeeLib) {
@@ -13,10 +30,36 @@ export function getNotifeeLibThrowIfNotInstalledForPush() {
13
30
  return notifeeLib;
14
31
  }
15
32
  export function getNotifeeLibNoThrowForKeepCallAlive() {
16
- if (!notifeeLib && isAndroid7OrBelow) {
33
+ if (!notifeeLib) {
17
34
  const logger = getLogger(['getNotifeeLibNoThrow']);
18
- logger('info', `${'@notifee/react-native library not installed. It is required to keep call alive in the background for Android < 26. '}${INSTALLATION_INSTRUCTION}`);
35
+ logger('info', `${'@notifee/react-native library not installed. It is required to keep call alive in the background for Android. '}${INSTALLATION_INSTRUCTION}`);
19
36
  }
20
37
  return notifeeLib;
21
38
  }
39
+ export async function getKeepCallAliveForegroundServiceTypes() {
40
+ const types = [];
41
+ const hasCameraPermission = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.CAMERA);
42
+ if (hasCameraPermission) {
43
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_CAMERA);
44
+ }
45
+ const hasMicrophonePermission = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO);
46
+ if (hasMicrophonePermission) {
47
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_MICROPHONE);
48
+ }
49
+ const hasConnectionPermission = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT);
50
+ if (hasConnectionPermission) {
51
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE);
52
+ }
53
+ if (types.length === 0) {
54
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_DATA_SYNC);
55
+ }
56
+ console.log({
57
+ types
58
+ });
59
+ return types;
60
+ }
61
+ export function getIncomingCallForegroundServiceTypes() {
62
+ const types = [AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_SHORT_SERVICE];
63
+ return types;
64
+ }
22
65
  //# sourceMappingURL=notifee.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","getLogger","notifeeLib","require","_e","isAndroid7OrBelow","OS","Version","INSTALLATION_INSTRUCTION","getNotifeeLibThrowIfNotInstalledForPush","Error","getNotifeeLibNoThrowForKeepCallAlive","logger"],"sourceRoot":"../../../../../src","sources":["utils/push/libs/notifee.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,SAAS,QAAQ,UAAU;AAIpC,IAAIC,UAAkC;AAEtC,IAAI;EACFA,UAAU,GAAGC,OAAO,CAAC,uBAAuB,CAAC;AAC/C,CAAC,CAAC,OAAOC,EAAE,EAAE,CAAC;AAEd,MAAMC,iBAAiB,GAAGL,QAAQ,CAACM,EAAE,KAAK,SAAS,IAAIN,QAAQ,CAACO,OAAO,GAAG,EAAE;AAE5E,MAAMC,wBAAwB,GAC5B,6FAA6F;AAE/F,OAAO,SAASC,uCAAuCA,CAAA,EAAG;EACxD,IAAI,CAACP,UAAU,EAAE;IACf,MAAMQ,KAAK,CACT,8FAA8F,GAC5FF,wBACJ,CAAC;EACH;EACA,OAAON,UAAU;AACnB;AAEA,OAAO,SAASS,oCAAoCA,CAAA,EAAG;EACrD,IAAI,CAACT,UAAU,IAAIG,iBAAiB,EAAE;IACpC,MAAMO,MAAM,GAAGX,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAClDW,MAAM,CACJ,MAAM,EACN,GAAG,qHAAqH,GAAGJ,wBAAwB,EACrJ,CAAC;EACH;EACA,OAAON,UAAU;AACnB","ignoreList":[]}
1
+ {"version":3,"names":["getLogger","PermissionsAndroid","AndroidForegroundServiceType","notifeeLib","require","_e","INSTALLATION_INSTRUCTION","getNotifeeLibThrowIfNotInstalledForPush","Error","getNotifeeLibNoThrowForKeepCallAlive","logger","getKeepCallAliveForegroundServiceTypes","types","hasCameraPermission","check","PERMISSIONS","CAMERA","push","FOREGROUND_SERVICE_TYPE_CAMERA","hasMicrophonePermission","RECORD_AUDIO","FOREGROUND_SERVICE_TYPE_MICROPHONE","hasConnectionPermission","BLUETOOTH_CONNECT","FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE","length","FOREGROUND_SERVICE_TYPE_DATA_SYNC","console","log","getIncomingCallForegroundServiceTypes","FOREGROUND_SERVICE_TYPE_SHORT_SERVICE"],"sourceRoot":"../../../../../src","sources":["utils/push/libs/notifee.ts"],"mappings":"AAAA,SAASA,SAAS,QAAQ,yBAAyB;AACnD,SAASC,kBAAkB,QAAQ,cAAc;AAAC,IAI7CC,4BAA4B,0BAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAA5BA,4BAA4B,CAA5BA,4BAA4B;EAAA,OAA5BA,4BAA4B;AAAA,EAA5BA,4BAA4B;AAkBjC,IAAIC,UAAkC;AAEtC,IAAI;EACFA,UAAU,GAAGC,OAAO,CAAC,uBAAuB,CAAC;AAC/C,CAAC,CAAC,OAAOC,EAAE,EAAE,CAAC;AAEd,MAAMC,wBAAwB,GAC5B,6FAA6F;AAE/F,OAAO,SAASC,uCAAuCA,CAAA,EAAG;EACxD,IAAI,CAACJ,UAAU,EAAE;IACf,MAAMK,KAAK,CACT,8FAA8F,GAC5FF,wBACJ,CAAC;EACH;EACA,OAAOH,UAAU;AACnB;AAEA,OAAO,SAASM,oCAAoCA,CAAA,EAAG;EACrD,IAAI,CAACN,UAAU,EAAE;IACf,MAAMO,MAAM,GAAGV,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAClDU,MAAM,CACJ,MAAM,EACN,GAAG,gHAAgH,GAAGJ,wBAAwB,EAChJ,CAAC;EACH;EACA,OAAOH,UAAU;AACnB;AAEA,OAAO,eAAeQ,sCAAsCA,CAAA,EAAG;EAC7D,MAAMC,KAAqC,GAAG,EAAE;EAChD,MAAMC,mBAAmB,GAAG,MAAMZ,kBAAkB,CAACa,KAAK,CACxDb,kBAAkB,CAACc,WAAW,CAACC,MACjC,CAAC;EACD,IAAIH,mBAAmB,EAAE;IACvBD,KAAK,CAACK,IAAI,CAACf,4BAA4B,CAACgB,8BAA8B,CAAC;EACzE;EACA,MAAMC,uBAAuB,GAAG,MAAMlB,kBAAkB,CAACa,KAAK,CAC5Db,kBAAkB,CAACc,WAAW,CAACK,YACjC,CAAC;EACD,IAAID,uBAAuB,EAAE;IAC3BP,KAAK,CAACK,IAAI,CAACf,4BAA4B,CAACmB,kCAAkC,CAAC;EAC7E;EACA,MAAMC,uBAAuB,GAAG,MAAMrB,kBAAkB,CAACa,KAAK,CAC5Db,kBAAkB,CAACc,WAAW,CAACQ,iBACjC,CAAC;EACD,IAAID,uBAAuB,EAAE;IAC3BV,KAAK,CAACK,IAAI,CACRf,4BAA4B,CAACsB,wCAC/B,CAAC;EACH;EACA,IAAIZ,KAAK,CAACa,MAAM,KAAK,CAAC,EAAE;IACtBb,KAAK,CAACK,IAAI,CAACf,4BAA4B,CAACwB,iCAAiC,CAAC;EAC5E;EACAC,OAAO,CAACC,GAAG,CAAC;IAAEhB;EAAM,CAAC,CAAC;EACtB,OAAOA,KAAK;AACd;AAEA,OAAO,SAASiB,qCAAqCA,CAAA,EAAG;EACtD,MAAMjB,KAAqC,GAAG,CAC5CV,4BAA4B,CAAC4B,qCAAqC,CACnE;EACD,OAAOlB,KAAK;AACd","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.2.15';
1
+ export const version = '1.2.18';
2
2
  //# sourceMappingURL=version.js.map
@@ -2,7 +2,7 @@
2
2
  * This hook is used to keep the call alive in the background for Android.
3
3
  * It starts a foreground service to keep the call alive as soon as the call is joined
4
4
  * and stops the foreground Service when the call is left.
5
- * Additonally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
5
+ * Additionally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
6
6
  */
7
7
  export declare const useAndroidKeepCallAliveEffect: () => void;
8
8
  //# sourceMappingURL=useAndroidKeepCallAliveEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"AA0DA;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,YAgFzC,CAAC"}
1
+ {"version":3,"file":"useAndroidKeepCallAliveEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAndroidKeepCallAliveEffect.ts"],"names":[],"mappings":"AAgEA;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,YAgFzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAiC,EAC/B,2BAA2B,EAC5B,MAAM,sCAAsC,CAAC;AAa9C,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+B;IAEpD;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAO1E,MAAM,CAAC,gCAAgC,CACrC,aAAa,EAAE,OAAO,CACpB,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CACzE;IAWH;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAYvE,MAAM,CAAC,SAAS;IAIhB;;;OAGG;IACH,MAAM,CAAC,YAAY;IASnB;;;;OAIG;IACH,MAAM,CAAC,gCAAgC,CACrC,QAAQ,EAAE,2BAA2B;CAYxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAiC,EAC/B,2BAA2B,EAC5B,MAAM,sCAAsC,CAAC;AAoB9C,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+B;IAEpD;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAO1E,MAAM,CAAC,gCAAgC,CACrC,aAAa,EAAE,OAAO,CACpB,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CACzE;IAWH;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAYvE,MAAM,CAAC,SAAS;IAIhB;;;OAGG;IACH,MAAM,CAAC,YAAY;IASnB;;;;OAIG;IACH,MAAM,CAAC,gCAAgC,CACrC,QAAQ,EAAE,2BAA2B;CAYxC"}
@@ -111,10 +111,12 @@ export type StreamVideoConfig = {
111
111
  };
112
112
  foregroundService: {
113
113
  android: {
114
+ /**
115
+ * The notification channel to keep call alive in the background for Android using a foreground service.
116
+ */
117
+ channel: AndroidChannel;
114
118
  /**
115
119
  * The texts shown in the notification to keep call alive in the background
116
- * for Android 24 and 25 platforms using a foreground service.
117
- * On Android 26 and above, Picture in Picture mode is used to keep the call alive.
118
120
  */
119
121
  notificationTexts: {
120
122
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,GAAG,EAAE;YACH;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;QACF,OAAO,EAAE;YACP;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B;;;;;;;;;eASG;YACH,WAAW,CAAC,EAAE,cAAc,CAAC;YAC7B;;;;;;;;;eASG;YACH,mBAAmB,CAAC,EAAE,cAAc,CAAC;YACrC;;;;;;;eAOG;YACH,mCAAmC,CAAC,EAAE;gBACpC,QAAQ,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;gBAC9C,OAAO,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;aAC9C,CAAC;YACF;;;;;;;;;;;;;eAaG;YACH,2BAA2B,CAAC,EAAE;gBAC5B,QAAQ,EAAE,CACR,IAAI,EAAE,mBAAmB,EACzB,eAAe,EAAE,MAAM,KACpB,MAAM,CAAC;gBACZ,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;aACzE,CAAC;SACH,CAAC;QACF;;;;;;;;;;;;;;;;;WAiBG;QACH,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;QACtE,+EAA+E;QAC/E,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,mIAAmI;QACnI,sBAAsB,EAAE,MAAM,IAAI,CAAC;QACnC,8EAA8E;QAC9E,+BAA+B,CAAC,EAAE,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;KACX,CAAC;IACF,iBAAiB,EAAE;QACjB,OAAO,EAAE;YACP;;;;eAIG;YACH,iBAAiB,EAAE;gBACjB,KAAK,EAAE,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/StreamVideoRN/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,GAAG,EAAE;YACH;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;QACF,OAAO,EAAE;YACP;;;;eAIG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B;;;;;;;;;eASG;YACH,WAAW,CAAC,EAAE,cAAc,CAAC;YAC7B;;;;;;;;;eASG;YACH,mBAAmB,CAAC,EAAE,cAAc,CAAC;YACrC;;;;;;;eAOG;YACH,mCAAmC,CAAC,EAAE;gBACpC,QAAQ,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;gBAC9C,OAAO,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;aAC9C,CAAC;YACF;;;;;;;;;;;;;eAaG;YACH,2BAA2B,CAAC,EAAE;gBAC5B,QAAQ,EAAE,CACR,IAAI,EAAE,mBAAmB,EACzB,eAAe,EAAE,MAAM,KACpB,MAAM,CAAC;gBACZ,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;aACzE,CAAC;SACH,CAAC;QACF;;;;;;;;;;;;;;;;;WAiBG;QACH,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;QACtE,+EAA+E;QAC/E,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,mIAAmI;QACnI,sBAAsB,EAAE,MAAM,IAAI,CAAC;QACnC,8EAA8E;QAC9E,+BAA+B,CAAC,EAAE,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;KACX,CAAC;IACF,iBAAiB,EAAE;QACjB,OAAO,EAAE;YACP;;eAEG;YACH,OAAO,EAAE,cAAc,CAAC;YACxB;;eAEG;YACH,iBAAiB,EAAE;gBACjB,KAAK,EAAE,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/android.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AA6BhC,KAAK,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAYzD,2CAA2C;AAC3C,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,QA8EjE;AAED,0DAA0D;AAC1D,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,UAAU,EACtB,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,iBA+C1D"}
1
+ {"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/android.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AA8BhC,KAAK,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAYzD,2CAA2C;AAC3C,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,QA8EjE;AAED,0DAA0D;AAC1D,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,UAAU,EACtB,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,iBA+C1D"}
@@ -1,4 +1,24 @@
1
1
  export type NotifeeLib = typeof import('@notifee/react-native');
2
+ declare enum AndroidForegroundServiceType {
3
+ FOREGROUND_SERVICE_TYPE_CAMERA = 64,
4
+ FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 16,
5
+ FOREGROUND_SERVICE_TYPE_DATA_SYNC = 1,
6
+ FOREGROUND_SERVICE_TYPE_HEALTH = 256,
7
+ FOREGROUND_SERVICE_TYPE_LOCATION = 8,
8
+ FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK = 2,
9
+ FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 32,
10
+ FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING = 8192,
11
+ FOREGROUND_SERVICE_TYPE_MICROPHONE = 128,
12
+ FOREGROUND_SERVICE_TYPE_PHONE_CALL = 4,
13
+ FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING = 512,
14
+ FOREGROUND_SERVICE_TYPE_SHORT_SERVICE = 2048,
15
+ FOREGROUND_SERVICE_TYPE_SPECIAL_USE = 1073741824,
16
+ FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED = 1024,
17
+ FOREGROUND_SERVICE_TYPE_MANIFEST = -1
18
+ }
2
19
  export declare function getNotifeeLibThrowIfNotInstalledForPush(): typeof import("@notifee/react-native");
3
20
  export declare function getNotifeeLibNoThrowForKeepCallAlive(): typeof import("@notifee/react-native") | undefined;
21
+ export declare function getKeepCallAliveForegroundServiceTypes(): Promise<AndroidForegroundServiceType[]>;
22
+ export declare function getIncomingCallForegroundServiceTypes(): AndroidForegroundServiceType[];
23
+ export {};
4
24
  //# sourceMappingURL=notifee.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifee.d.ts","sourceRoot":"","sources":["../../../../../src/utils/push/libs/notifee.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,cAAc,uBAAuB,CAAC,CAAC;AAahE,wBAAgB,uCAAuC,2CAQtD;AAED,wBAAgB,oCAAoC,uDASnD"}
1
+ {"version":3,"file":"notifee.d.ts","sourceRoot":"","sources":["../../../../../src/utils/push/libs/notifee.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,cAAc,uBAAuB,CAAC,CAAC;AAEhE,aAAK,4BAA4B;IAC/B,8BAA8B,KAAK;IACnC,wCAAwC,KAAK;IAC7C,iCAAiC,IAAI;IACrC,8BAA8B,MAAM;IACpC,gCAAgC,IAAI;IACpC,sCAAsC,IAAI;IAC1C,wCAAwC,KAAK;IAC7C,wCAAwC,OAAO;IAC/C,kCAAkC,MAAM;IACxC,kCAAkC,IAAI;IACtC,wCAAwC,MAAM;IAC9C,qCAAqC,OAAO;IAC5C,mCAAmC,aAAa;IAChD,uCAAuC,OAAO;IAC9C,gCAAgC,KAAK;CACtC;AAWD,wBAAgB,uCAAuC,2CAQtD;AAED,wBAAgB,oCAAoC,uDASnD;AAED,wBAAsB,sCAAsC,4CA2B3D;AAED,wBAAgB,qCAAqC,mCAKpD"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.2.15";
1
+ export declare const version = "1.2.18";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -10,6 +10,7 @@ export type ConfigProps = {
10
10
  ringingPushNotifications?: RingingPushNotifications;
11
11
  enableNonRingingPushNotifications?: boolean;
12
12
  androidPictureInPicture?: AndroidPictureInPicture;
13
+ androidKeepCallAlive?: boolean;
13
14
  enableScreenshare?: boolean;
14
15
  appleTeamId?: string;
15
16
  } | undefined;
@@ -2,14 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const config_plugins_1 = require("@expo/config-plugins");
4
4
  const { prefixAndroidKeys, getMainApplicationOrThrow, getMainActivityOrThrow } = config_plugins_1.AndroidConfig.Manifest;
5
- function getNotifeeService() {
5
+ function getNotifeeService(isKeepCallAliveEnabled = false) {
6
6
  /* We add this service to the AndroidManifest.xml:
7
7
  <service
8
8
  android:name="app.notifee.core.ForegroundService"
9
9
  android:stopWithTask="true"
10
10
  android:foregroundServiceType="shortService" />
11
11
  */
12
- const foregroundServiceType = 'shortService';
12
+ let foregroundServiceType = 'shortService';
13
+ if (isKeepCallAliveEnabled) {
14
+ foregroundServiceType =
15
+ 'dataSync|camera|microphone|connectedDevice|' + foregroundServiceType;
16
+ }
13
17
  let head = prefixAndroidKeys({
14
18
  name: 'app.notifee.core.ForegroundService',
15
19
  stopWithTask: 'true',
@@ -24,12 +28,12 @@ const withStreamVideoReactNativeSDKManifest = (configuration, props) => {
24
28
  return (0, config_plugins_1.withAndroidManifest)(configuration, (config) => {
25
29
  const androidManifest = config.modResults;
26
30
  const mainApplication = getMainApplicationOrThrow(androidManifest);
27
- if (props?.ringingPushNotifications) {
31
+ if (props?.ringingPushNotifications || props?.androidKeepCallAlive) {
28
32
  /* Add the notifee foreground Service */
29
33
  let services = mainApplication.service ?? [];
30
34
  // we filter out the existing notifee service (if any) so that we can override it
31
35
  services = services.filter((service) => service.$['android:name'] !== 'app.notifee.core.ForegroundService');
32
- services.push(getNotifeeService());
36
+ services.push(getNotifeeService(!!props?.androidKeepCallAlive));
33
37
  mainApplication.service = services;
34
38
  }
35
39
  if (props?.androidPictureInPicture) {
@@ -13,6 +13,9 @@ const withStreamVideoReactNativeSDKAndroidPermissions = (configuration, props) =
13
13
  permissions.push('android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION');
14
14
  }
15
15
  }
16
+ if (props?.androidKeepCallAlive) {
17
+ permissions.push('android.permission.FOREGROUND_SERVICE_CAMERA', 'android.permission.FOREGROUND_SERVICE_MICROPHONE', 'android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE', 'android.permission.FOREGROUND_SERVICE_DATA_SYNC');
18
+ }
16
19
  if (props?.ringingPushNotifications?.showWhenLockedAndroid) {
17
20
  permissions.push('android.permission.USE_FULL_SCREEN_INTENT');
18
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "1.2.16",
3
+ "version": "1.2.18",
4
4
  "packageManager": "yarn@3.2.4",
5
5
  "main": "dist/commonjs/index.js",
6
6
  "module": "dist/module/index.js",
@@ -46,8 +46,8 @@
46
46
  "!**/.*"
47
47
  ],
48
48
  "dependencies": {
49
- "@stream-io/video-client": "1.11.1",
50
- "@stream-io/video-react-bindings": "1.1.18",
49
+ "@stream-io/video-client": "1.11.4",
50
+ "@stream-io/video-react-bindings": "1.1.20",
51
51
  "intl-pluralrules": "2.0.1",
52
52
  "lodash.merge": "^4.6.2",
53
53
  "react-native-url-polyfill": "1.3.0",
@@ -55,7 +55,7 @@
55
55
  "text-encoding-polyfill": "0.6.7"
56
56
  },
57
57
  "peerDependencies": {
58
- "@notifee/react-native": ">=7.8.0",
58
+ "@notifee/react-native": ">=9.0.0",
59
59
  "@react-native-community/netinfo": ">=9.0.0",
60
60
  "@react-native-community/push-notification-ios": ">=1.11.0",
61
61
  "@react-native-firebase/app": ">=17.5.0",
@@ -119,7 +119,7 @@
119
119
  "devDependencies": {
120
120
  "@babel/preset-typescript": "^7.24.7",
121
121
  "@expo/config-plugins": "~7.8.4",
122
- "@notifee/react-native": "7.8.0",
122
+ "@notifee/react-native": "9.1.2",
123
123
  "@react-native-community/netinfo": "9.3.9",
124
124
  "@react-native-community/push-notification-ios": "1.11.0",
125
125
  "@react-native-firebase/app": "17.5.0",
@@ -3,14 +3,14 @@ import { useEffect, useRef } from 'react';
3
3
  import { StreamVideoRN } from '../utils';
4
4
  import { Platform } from 'react-native';
5
5
  import { CallingState, getLogger } from '@stream-io/video-client';
6
- import { getNotifeeLibNoThrowForKeepCallAlive } from '../utils/push/libs/notifee';
7
-
8
- const isAndroid7OrBelow = Platform.OS === 'android' && Platform.Version < 26;
6
+ import {
7
+ getNotifeeLibNoThrowForKeepCallAlive,
8
+ getKeepCallAliveForegroundServiceTypes,
9
+ } from '../utils/push/libs/notifee';
9
10
 
10
11
  const notifeeLib = getNotifeeLibNoThrowForKeepCallAlive();
11
12
 
12
13
  function setForegroundService() {
13
- if (!isAndroid7OrBelow) return;
14
14
  notifeeLib?.default.registerForegroundService(() => {
15
15
  return new Promise(() => {
16
16
  const logger = getLogger(['setForegroundService method']);
@@ -20,7 +20,6 @@ function setForegroundService() {
20
20
  }
21
21
 
22
22
  async function startForegroundService(call_cid: string) {
23
- if (!isAndroid7OrBelow) return;
24
23
  const foregroundServiceConfig = StreamVideoRN.getConfig().foregroundService;
25
24
  const { title, body } = foregroundServiceConfig.android.notificationTexts;
26
25
 
@@ -37,11 +36,18 @@ async function startForegroundService(call_cid: string) {
37
36
  );
38
37
  return;
39
38
  }
39
+ const channelId = foregroundServiceConfig.android.channel.id;
40
+ await notifeeLib.default.createChannel(
41
+ foregroundServiceConfig.android.channel
42
+ );
43
+ const foregroundServiceTypes = await getKeepCallAliveForegroundServiceTypes();
40
44
  await notifeeLib.default.displayNotification({
41
45
  id: call_cid,
42
46
  title,
43
47
  body,
44
48
  android: {
49
+ channelId,
50
+ foregroundServiceTypes,
45
51
  asForegroundService: true,
46
52
  ongoing: true, // user cannot dismiss the notification
47
53
  colorized: true,
@@ -60,10 +66,10 @@ let isSetForegroundServiceRan = false;
60
66
  * This hook is used to keep the call alive in the background for Android.
61
67
  * It starts a foreground service to keep the call alive as soon as the call is joined
62
68
  * and stops the foreground Service when the call is left.
63
- * Additonally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
69
+ * Additionally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
64
70
  */
65
71
  export const useAndroidKeepCallAliveEffect = () => {
66
- if (!isSetForegroundServiceRan && isAndroid7OrBelow) {
72
+ if (!isSetForegroundServiceRan) {
67
73
  isSetForegroundServiceRan = true;
68
74
  setForegroundService();
69
75
  }
@@ -74,10 +80,10 @@ export const useAndroidKeepCallAliveEffect = () => {
74
80
  const callingState = useCallCallingState();
75
81
 
76
82
  useEffect((): (() => void) | undefined => {
77
- if (!notifeeLib) return;
78
83
  if (Platform.OS === 'ios' || !activeCallCid) {
79
84
  return;
80
85
  }
86
+ if (!notifeeLib) return;
81
87
 
82
88
  // start foreground service as soon as the call is joined
83
89
  if (callingState === CallingState.JOINED) {
@@ -9,6 +9,13 @@ import newNotificationCallbacks, {
9
9
  const DEFAULT_STREAM_VIDEO_CONFIG: StreamVideoConfig = {
10
10
  foregroundService: {
11
11
  android: {
12
+ channel: {
13
+ id: 'stream_call_foreground_service',
14
+ name: 'To keep calls alive',
15
+ lights: false,
16
+ vibration: false,
17
+ importance: 3,
18
+ },
12
19
  notificationTexts: {
13
20
  title: 'Call in progress',
14
21
  body: 'Tap to return to the call',
@@ -119,10 +119,12 @@ export type StreamVideoConfig = {
119
119
  };
120
120
  foregroundService: {
121
121
  android: {
122
+ /**
123
+ * The notification channel to keep call alive in the background for Android using a foreground service.
124
+ */
125
+ channel: AndroidChannel;
122
126
  /**
123
127
  * The texts shown in the notification to keep call alive in the background
124
- * for Android 24 and 25 platforms using a foreground service.
125
- * On Android 26 and above, Picture in Picture mode is used to keep the call alive.
126
128
  */
127
129
  notificationTexts: {
128
130
  title: string;
@@ -1,6 +1,7 @@
1
1
  import { FirebaseMessagingTypes } from '@react-native-firebase/messaging';
2
2
  import {
3
3
  Call,
4
+ CallingState,
4
5
  RxUtils,
5
6
  StreamVideoClient,
6
7
  getLogger,
@@ -17,6 +18,7 @@ import {
17
18
  getExpoTaskManagerLib,
18
19
  getNotifeeLibThrowIfNotInstalledForPush,
19
20
  NotifeeLib,
21
+ getIncomingCallForegroundServiceTypes,
20
22
  } from './libs';
21
23
  import {
22
24
  pushAcceptedIncomingCallCId$,
@@ -212,14 +214,14 @@ const firebaseMessagingOnMessageHandler = async (
212
214
  const created_by_id = data.created_by_id as string;
213
215
  const receiver_id = data.receiver_id as string;
214
216
 
215
- function shouldCallBeClosed(callToCheck: Call) {
217
+ const shouldCallBeClosed = (callToCheck: Call) => {
216
218
  const { mustEndCall } = shouldCallBeEnded(
217
219
  callToCheck,
218
220
  created_by_id,
219
221
  receiver_id
220
222
  );
221
223
  return mustEndCall;
222
- }
224
+ };
223
225
 
224
226
  const canListenToWS = () =>
225
227
  canAddPushWSSubscriptionsRef.current &&
@@ -244,17 +246,33 @@ const firebaseMessagingOnMessageHandler = async (
244
246
  notifee.stopForegroundService();
245
247
  return;
246
248
  }
249
+ const unsubscribeFunctions: Array<() => void> = [];
250
+ // check if service needs to be closed if accept/decline event was done on another device
247
251
  const unsubscribe = callFromPush.on('all', () => {
248
252
  if (!canListenToWS() || shouldCallBeClosed(callFromPush)) {
249
- unsubscribe();
253
+ unsubscribeFunctions.forEach((fn) => fn());
250
254
  notifee.stopForegroundService();
251
255
  }
252
256
  });
257
+ // check if service needs to be closed if call was left
258
+ const subscription = callFromPush.state.callingState$.subscribe(
259
+ (callingState) => {
260
+ if (
261
+ callingState === CallingState.IDLE ||
262
+ callingState === CallingState.LEFT
263
+ ) {
264
+ unsubscribeFunctions.forEach((fn) => fn());
265
+ notifee.stopForegroundService();
266
+ }
267
+ }
268
+ );
269
+ unsubscribeFunctions.push(unsubscribe);
270
+ unsubscribeFunctions.push(() => subscription.unsubscribe());
253
271
  const unsubscriptionCallbacks =
254
272
  RxUtils.getCurrentValue(pushUnsubscriptionCallbacks$) ?? [];
255
273
  pushUnsubscriptionCallbacks$.next([
256
274
  ...unsubscriptionCallbacks,
257
- unsubscribe,
275
+ ...unsubscribeFunctions,
258
276
  ]);
259
277
  });
260
278
  });
@@ -290,6 +308,7 @@ const firebaseMessagingOnMessageHandler = async (
290
308
  data,
291
309
  android: {
292
310
  channelId,
311
+ foregroundServiceTypes: getIncomingCallForegroundServiceTypes(),
293
312
  asForegroundService,
294
313
  sound: incomingCallChannel.sound,
295
314
  vibrationPattern: incomingCallChannel.vibrationPattern,
@@ -1,16 +1,32 @@
1
- import { Platform } from 'react-native';
2
- import { getLogger } from '../../..';
1
+ import { getLogger } from '@stream-io/video-client';
2
+ import { PermissionsAndroid } from 'react-native';
3
3
 
4
4
  export type NotifeeLib = typeof import('@notifee/react-native');
5
5
 
6
+ enum AndroidForegroundServiceType {
7
+ FOREGROUND_SERVICE_TYPE_CAMERA = 64,
8
+ FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 16,
9
+ FOREGROUND_SERVICE_TYPE_DATA_SYNC = 1,
10
+ FOREGROUND_SERVICE_TYPE_HEALTH = 256,
11
+ FOREGROUND_SERVICE_TYPE_LOCATION = 8,
12
+ FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK = 2,
13
+ FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 32,
14
+ FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING = 8192,
15
+ FOREGROUND_SERVICE_TYPE_MICROPHONE = 128,
16
+ FOREGROUND_SERVICE_TYPE_PHONE_CALL = 4,
17
+ FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING = 512,
18
+ FOREGROUND_SERVICE_TYPE_SHORT_SERVICE = 2048,
19
+ FOREGROUND_SERVICE_TYPE_SPECIAL_USE = 1073741824,
20
+ FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED = 1024,
21
+ FOREGROUND_SERVICE_TYPE_MANIFEST = -1,
22
+ }
23
+
6
24
  let notifeeLib: NotifeeLib | undefined;
7
25
 
8
26
  try {
9
27
  notifeeLib = require('@notifee/react-native');
10
28
  } catch (_e) {}
11
29
 
12
- const isAndroid7OrBelow = Platform.OS === 'android' && Platform.Version < 26;
13
-
14
30
  const INSTALLATION_INSTRUCTION =
15
31
  'Please see https://notifee.app/react-native/docs/installation for installation instructions';
16
32
 
@@ -25,12 +41,48 @@ export function getNotifeeLibThrowIfNotInstalledForPush() {
25
41
  }
26
42
 
27
43
  export function getNotifeeLibNoThrowForKeepCallAlive() {
28
- if (!notifeeLib && isAndroid7OrBelow) {
44
+ if (!notifeeLib) {
29
45
  const logger = getLogger(['getNotifeeLibNoThrow']);
30
46
  logger(
31
47
  'info',
32
- `${'@notifee/react-native library not installed. It is required to keep call alive in the background for Android < 26. '}${INSTALLATION_INSTRUCTION}`
48
+ `${'@notifee/react-native library not installed. It is required to keep call alive in the background for Android. '}${INSTALLATION_INSTRUCTION}`
33
49
  );
34
50
  }
35
51
  return notifeeLib;
36
52
  }
53
+
54
+ export async function getKeepCallAliveForegroundServiceTypes() {
55
+ const types: AndroidForegroundServiceType[] = [];
56
+ const hasCameraPermission = await PermissionsAndroid.check(
57
+ PermissionsAndroid.PERMISSIONS.CAMERA!
58
+ );
59
+ if (hasCameraPermission) {
60
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_CAMERA);
61
+ }
62
+ const hasMicrophonePermission = await PermissionsAndroid.check(
63
+ PermissionsAndroid.PERMISSIONS.RECORD_AUDIO!
64
+ );
65
+ if (hasMicrophonePermission) {
66
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_MICROPHONE);
67
+ }
68
+ const hasConnectionPermission = await PermissionsAndroid.check(
69
+ PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT!
70
+ );
71
+ if (hasConnectionPermission) {
72
+ types.push(
73
+ AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE
74
+ );
75
+ }
76
+ if (types.length === 0) {
77
+ types.push(AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_DATA_SYNC);
78
+ }
79
+ console.log({ types });
80
+ return types;
81
+ }
82
+
83
+ export function getIncomingCallForegroundServiceTypes() {
84
+ const types: AndroidForegroundServiceType[] = [
85
+ AndroidForegroundServiceType.FOREGROUND_SERVICE_TYPE_SHORT_SERVICE,
86
+ ];
87
+ return types;
88
+ }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.2.15';
1
+ export const version = '1.2.18';