@stream-io/react-native-callingx 0.1.0-beta.1 → 0.1.0-beta.3

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 (45) hide show
  1. package/README.md +12 -8
  2. package/android/bin/src/main/AndroidManifest.xml +29 -0
  3. package/android/bin/src/main/java/io/getstream/rn/callingx/notifications/NotificationChannelsManager.kt +104 -0
  4. package/android/src/main/AndroidManifest.xml +0 -1
  5. package/android/src/main/java/io/getstream/rn/callingx/CallingxModule.kt +3 -3
  6. package/android/src/main/java/io/getstream/rn/callingx/notifications/NotificationChannelsManager.kt +9 -18
  7. package/dist/module/CallingxModule.js +2 -14
  8. package/dist/module/CallingxModule.js.map +1 -1
  9. package/dist/module/utils/constants.js +36 -9
  10. package/dist/module/utils/constants.js.map +1 -1
  11. package/dist/typescript/src/CallingxModule.d.ts +1 -5
  12. package/dist/typescript/src/CallingxModule.d.ts.map +1 -1
  13. package/dist/typescript/src/types.d.ts +41 -10
  14. package/dist/typescript/src/types.d.ts.map +1 -1
  15. package/dist/typescript/src/utils/constants.d.ts.map +1 -1
  16. package/ios/AudioSessionManager.swift +2 -7
  17. package/ios/CallingxImpl.swift +32 -27
  18. package/package.json +3 -3
  19. package/src/CallingxModule.ts +2 -30
  20. package/src/types.ts +35 -15
  21. package/src/utils/constants.ts +25 -16
  22. package/android/bin/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -33
  23. package/android/bin/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
  24. package/android/bin/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
  25. package/android/bin/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -4
  26. package/android/bin/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  27. package/android/bin/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -60
  28. package/android/bin/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -33
  29. package/android/bin/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
  30. package/android/bin/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
  31. package/android/bin/build/intermediates/packaged_res/debug/packageDebugResources/drawable/ic_phone_paused_24.xml +0 -11
  32. package/android/bin/build/intermediates/packaged_res/debug/packageDebugResources/drawable/ic_round_call_24.xml +0 -11
  33. package/android/bin/build/intermediates/packaged_res/debug/packageDebugResources/drawable/ic_user.xml +0 -27
  34. package/android/bin/build/outputs/logs/manifest-merger-debug-report.txt +0 -70
  35. package/android/bin/src/main/java/io/getstream/rn/callingx/CallService.kt +0 -402
  36. package/android/bin/src/main/java/io/getstream/rn/callingx/CallingxModule.kt +0 -644
  37. package/android/bin/src/main/java/io/getstream/rn/callingx/notifications/CallNotificationManager.kt +0 -245
  38. package/android/bin/src/main/java/io/getstream/rn/callingx/repo/CallRepository.kt +0 -163
  39. package/android/bin/src/main/java/io/getstream/rn/callingx/repo/LegacyCallRepository.kt +0 -139
  40. package/android/bin/src/main/java/io/getstream/rn/callingx/repo/TelecomCallRepository.kt +0 -432
  41. package/dist/module/utils/permissions.js +0 -86
  42. package/dist/module/utils/permissions.js.map +0 -1
  43. package/dist/typescript/src/utils/permissions.d.ts +0 -8
  44. package/dist/typescript/src/utils/permissions.d.ts.map +0 -1
  45. package/src/utils/permissions.ts +0 -111
package/README.md CHANGED
@@ -171,8 +171,9 @@ End a call with a specific reason:
171
171
  ```typescript
172
172
  import type { EndCallReason } from 'react-native-callingx';
173
173
 
174
- // Available reasons: 'local' | 'remote' | 'rejected' | 'busy' |
175
- // 'answeredElsewhere' | 'missed' | 'error'
174
+ // Available reasons:
175
+ // 'local' | 'remote' | 'rejected' | 'busy' | 'answeredElsewhere' |
176
+ // 'missed' | 'error' | 'canceled' | 'restricted' | 'unknown'
176
177
  await CallingxModule.endCallWithReason('unique-call-id', 'remote');
177
178
  ```
178
179
 
@@ -329,13 +330,16 @@ await CallingxModule.stopBackgroundTask();
329
330
 
330
331
  ```typescript
331
332
  type EndCallReason =
332
- | 'local' // Call ended by local user
333
- | 'remote' // Call ended by remote party
334
- | 'rejected' // Call was rejected
335
- | 'busy' // Remote party is busy
333
+ | 'local' // Call ended by the local user (e.g., hanging up)
334
+ | 'remote' // Call ended by the remote party, or outgoing not answered
335
+ | 'rejected' // Call was rejected/declined
336
+ | 'busy' // Remote party was busy
336
337
  | 'answeredElsewhere' // Answered on another device
337
- | 'missed' // Call was missed
338
- | 'error'; // Call failed due to error
338
+ | 'missed' // No response to an incoming call
339
+ | 'error' // Call failed due to an error (e.g., network issue)
340
+ | 'canceled' // Call canceled before the remote party could answer
341
+ | 'restricted' // Call restricted (e.g., airplane mode)
342
+ | 'unknown'; // Unknown or unspecified disconnect reason
339
343
 
340
344
  type CallingExpiOSOptions = {
341
345
  appName: string;
@@ -0,0 +1,29 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
+
3
+ <uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
4
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
5
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL" />
6
+ <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
7
+
8
+ <application>
9
+ <activity
10
+ android:name="io.getstream.rn.callingx.notifications.NotificationReceiverActivity"
11
+ android:excludeFromRecents="true"
12
+ android:exported="false"
13
+ android:noHistory="true"
14
+ android:taskAffinity=""
15
+ android:theme="@android:style/Theme.Translucent.NoTitleBar" />
16
+
17
+ <service
18
+ android:name="io.getstream.rn.callingx.notifications.NotificationReceiverService"
19
+ android:exported="false" />
20
+
21
+ <service
22
+ android:name="io.getstream.rn.callingx.CallService"
23
+ android:enabled="true"
24
+ android:exported="false"
25
+ android:foregroundServiceType="phoneCall"
26
+ android:stopWithTask="true" />
27
+
28
+ </application>
29
+ </manifest>
@@ -0,0 +1,104 @@
1
+ package io.getstream.rn.callingx.notifications
2
+
3
+ import android.content.Context
4
+ import android.os.Build
5
+ import androidx.core.app.NotificationChannelCompat
6
+ import androidx.core.app.NotificationManagerCompat
7
+ import io.getstream.rn.callingx.debugLog
8
+
9
+ class NotificationChannelsManager(
10
+ private val context: Context,
11
+ private val notificationManager: NotificationManagerCompat =
12
+ NotificationManagerCompat.from(context)
13
+ ) {
14
+
15
+ private var notificationsConfig: NotificationsConfig.Channels? = null
16
+
17
+ companion object {
18
+ private const val TAG = "[Callingx] NotificationChannelsManager"
19
+ }
20
+
21
+ data class NotificationStatus(
22
+ val canPost: Boolean,
23
+ val hasPermissions: Boolean,
24
+ val areNotificationsEnabled: Boolean,
25
+ val isIncomingChannelEnabled: Boolean,
26
+ val isOngoingChannelEnabled: Boolean,
27
+ )
28
+
29
+ fun setNotificationsConfig(notificationsConfig: NotificationsConfig.Channels) {
30
+ this.notificationsConfig = notificationsConfig
31
+ }
32
+
33
+ fun createNotificationChannels() {
34
+ notificationsConfig?.let {
35
+ val incomingChannel = createNotificationChannel(it.incomingChannel)
36
+ val ongoingChannel = createNotificationChannel(it.ongoingChannel)
37
+
38
+ notificationManager.createNotificationChannelsCompat(
39
+ listOf(
40
+ incomingChannel,
41
+ ongoingChannel,
42
+ ),
43
+ )
44
+ debugLog(TAG, "createNotificationChannels: Notification channels registered")
45
+ }
46
+ }
47
+
48
+ fun getNotificationStatus(): NotificationStatus {
49
+ val areNotificationsEnabled = areNotificationsEnabled()
50
+ val hasPermissions = hasNotificationPermissions()
51
+ val isIncomingChannelEnabled = isChannelEnabled(notificationsConfig?.incomingChannel?.id)
52
+ val isOngoingChannelEnabled = isChannelEnabled(notificationsConfig?.ongoingChannel?.id)
53
+
54
+ val canPost =
55
+ areNotificationsEnabled &&
56
+ hasPermissions &&
57
+ isIncomingChannelEnabled &&
58
+ isOngoingChannelEnabled
59
+
60
+ return NotificationStatus(
61
+ canPost,
62
+ hasPermissions,
63
+ areNotificationsEnabled,
64
+ isIncomingChannelEnabled,
65
+ isOngoingChannelEnabled
66
+ )
67
+ }
68
+
69
+ private fun createNotificationChannel(
70
+ config: NotificationsConfig.ChannelParams
71
+ ): NotificationChannelCompat {
72
+ return NotificationChannelCompat.Builder(config.id, config.importance)
73
+ .apply {
74
+ setName(config.name)
75
+ setVibrationEnabled(config.vibration)
76
+ setSound(null, null)
77
+ }
78
+ .build()
79
+ }
80
+
81
+ private fun areNotificationsEnabled(): Boolean {
82
+ return notificationManager.areNotificationsEnabled()
83
+ }
84
+
85
+ private fun hasNotificationPermissions(): Boolean {
86
+ // CallStyle notifications are exempt from POST_NOTIFICATIONS on Android 13+
87
+ // when the app self-manages phone calls (MANAGE_OWN_CALLS + ConnectionService).
88
+ // This package uses that path, so we always allow posting call notifications.
89
+ return true
90
+ }
91
+
92
+ private fun isChannelEnabled(channelId: String?): Boolean {
93
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
94
+ return true
95
+ }
96
+
97
+ if (channelId == null) {
98
+ return false
99
+ }
100
+
101
+ val channel = notificationManager.getNotificationChannel(channelId)
102
+ return channel != null && channel.importance != NotificationManagerCompat.IMPORTANCE_NONE
103
+ }
104
+ }
@@ -1,7 +1,6 @@
1
1
  <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
2
 
3
3
  <uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
4
- <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
5
4
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
6
5
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL" />
7
6
  <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
@@ -178,7 +178,7 @@ class CallingxModule(reactContext: ReactApplicationContext) : NativeCallingxSpec
178
178
  "[module] displayIncomingCall: Displaying incoming call: $callId, $phoneNumber, $callerName, $hasVideo"
179
179
  )
180
180
  if (!notificationChannelsManager.getNotificationStatus().canPost) {
181
- promise.reject("ERROR", "Notifications are not granted")
181
+ promise.reject("ERROR", "Cannot post notifications")
182
182
  return
183
183
  }
184
184
 
@@ -217,7 +217,7 @@ class CallingxModule(reactContext: ReactApplicationContext) : NativeCallingxSpec
217
217
  "[module] startCall: Starting outgoing call: $callId, $phoneNumber, $callerName, $hasVideo, $displayOptions"
218
218
  )
219
219
  if (!notificationChannelsManager.getNotificationStatus().canPost) {
220
- promise.reject("ERROR", "Notifications are not granted")
220
+ promise.reject("ERROR", "Cannot post notifications")
221
221
  return
222
222
  }
223
223
 
@@ -242,7 +242,7 @@ class CallingxModule(reactContext: ReactApplicationContext) : NativeCallingxSpec
242
242
  ) {
243
243
  debugLog(TAG, "[module] updateDisplay: Updating display: $callId, $phoneNumber, $callerName")
244
244
  if (!notificationChannelsManager.getNotificationStatus().canPost) {
245
- promise.reject("ERROR", "Notifications are not granted")
245
+ promise.reject("ERROR", "Cannot post notifications")
246
246
  return
247
247
  }
248
248
 
@@ -1,11 +1,9 @@
1
1
  package io.getstream.rn.callingx.notifications
2
2
 
3
- import android.Manifest
4
3
  import android.content.Context
5
4
  import android.os.Build
6
5
  import androidx.core.app.NotificationChannelCompat
7
6
  import androidx.core.app.NotificationManagerCompat
8
- import androidx.core.content.PermissionChecker
9
7
  import io.getstream.rn.callingx.debugLog
10
8
 
11
9
  class NotificationChannelsManager(
@@ -53,14 +51,16 @@ class NotificationChannelsManager(
53
51
  val isIncomingChannelEnabled = isChannelEnabled(notificationsConfig?.incomingChannel?.id)
54
52
  val isOngoingChannelEnabled = isChannelEnabled(notificationsConfig?.ongoingChannel?.id)
55
53
 
56
- val canPost =
57
- areNotificationsEnabled &&
58
- hasPermissions &&
54
+ // CallStyle is exempt from notification permission when self-managing calls (Android 13+).
55
+ // On older versions we require areNotificationsEnabled().
56
+ val canPostCallStyle =
57
+ hasPermissions &&
59
58
  isIncomingChannelEnabled &&
60
- isOngoingChannelEnabled
59
+ isOngoingChannelEnabled &&
60
+ (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU || areNotificationsEnabled())
61
61
 
62
62
  return NotificationStatus(
63
- canPost,
63
+ canPostCallStyle,
64
64
  hasPermissions,
65
65
  areNotificationsEnabled,
66
66
  isIncomingChannelEnabled,
@@ -85,17 +85,8 @@ class NotificationChannelsManager(
85
85
  }
86
86
 
87
87
  private fun hasNotificationPermissions(): Boolean {
88
- // POST_NOTIFICATIONS permission is only required on Android 13+
89
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
90
- return true
91
- }
92
-
93
- val permission =
94
- PermissionChecker.checkSelfPermission(
95
- context,
96
- Manifest.permission.POST_NOTIFICATIONS,
97
- )
98
- return permission == PermissionChecker.PERMISSION_GRANTED
88
+ // CallStyle is exempt from notification permission when self-managing calls.
89
+ return true
99
90
  }
100
91
 
101
92
  private fun isChannelEnabled(channelId: String?): Boolean {
@@ -2,13 +2,11 @@
2
2
 
3
3
  import { Platform } from 'react-native';
4
4
  import NativeCallingModule from "./spec/NativeCallingx.js";
5
- import { checkCallPermissions, requestCallPermissions } from "./utils/permissions.js";
6
5
  import { HEADLESS_TASK_NAME, registerHeadlessTask, setHeadlessTask } from "./utils/headlessTask.js";
7
6
  import { EventManager } from "./EventManager.js";
8
7
  import { androidEndCallReasonMap, defaultAndroidOptions, defaultiOSOptions, defaultTextTransformer, iosEndCallReasonMap } from "./utils/constants.js";
9
8
  import { isVoipEvent } from "./utils/utils.js";
10
9
  class CallingxModule {
11
- _isNotificationsAllowed = false;
12
10
  _isSetup = false;
13
11
  _isOngoingCallsEnabled = false;
14
12
  _isHeadlessTaskRegistered = false;
@@ -16,11 +14,11 @@ class CallingxModule {
16
14
  subtitleTransformer = undefined;
17
15
  eventManager = new EventManager();
18
16
  voipEventManager = new EventManager();
19
- get isNotificationsAllowed() {
17
+ get canPostNotifications() {
20
18
  if (Platform.OS !== 'android') {
21
19
  return true;
22
20
  }
23
- return this._isNotificationsAllowed && NativeCallingModule.canPostNotifications();
21
+ return NativeCallingModule.canPostNotifications();
24
22
  }
25
23
  get isOngoingCallsEnabled() {
26
24
  return this._isOngoingCallsEnabled;
@@ -70,16 +68,6 @@ class CallingxModule {
70
68
  setShouldRejectCallWhenBusy(shouldReject) {
71
69
  NativeCallingModule.setShouldRejectCallWhenBusy(shouldReject);
72
70
  }
73
- async requestPermissions() {
74
- const result = await requestCallPermissions();
75
- this._isNotificationsAllowed = result.postNotifications;
76
- return result;
77
- }
78
- async checkPermissions() {
79
- const result = await checkCallPermissions();
80
- this._isNotificationsAllowed = result.postNotifications;
81
- return result;
82
- }
83
71
  getInitialEvents() {
84
72
  return NativeCallingModule.getInitialEvents();
85
73
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","NativeCallingModule","checkCallPermissions","requestCallPermissions","HEADLESS_TASK_NAME","registerHeadlessTask","setHeadlessTask","EventManager","androidEndCallReasonMap","defaultAndroidOptions","defaultiOSOptions","defaultTextTransformer","iosEndCallReasonMap","isVoipEvent","CallingxModule","_isNotificationsAllowed","_isSetup","_isOngoingCallsEnabled","_isHeadlessTaskRegistered","titleTransformer","text","subtitleTransformer","undefined","eventManager","voipEventManager","isNotificationsAllowed","OS","canPostNotifications","isOngoingCallsEnabled","isSetup","setup","options","enableOngoingCalls","setShouldRejectCallWhenBusy","shouldRejectCallWhenBusy","setupiOS","ios","incomingChannel","ongoingChannel","android","notificationsConfig","id","Error","setupAndroid","shouldReject","requestPermissions","result","postNotifications","checkPermissions","getInitialEvents","getInitialVoipEvents","setCurrentCallActive","callId","displayIncomingCall","phoneNumber","callerName","hasVideo","displayOptions","displayTitle","displaySubtitle","answerIncomingCall","startCall","updateDisplay","endCallWithReason","reason","reasons","endCall","isCallRegistered","hasRegisteredCall","setMutedCall","isMuted","setOnHoldCall","isOnHold","registerBackgroundTask","taskProvider","stopTask","stopBackgroundTask","taskData","registerBackgroundTaskAvailable","startBackgroundTask","isServiceStarted","registerVoipToken","addEventListener","eventName","callback","manager","addListener","remove","removeListener","log","message","level","module"],"sourceRoot":"../../src","sources":["CallingxModule.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","NativeCallingModule","HEADLESS_TASK_NAME","registerHeadlessTask","setHeadlessTask","EventManager","androidEndCallReasonMap","defaultAndroidOptions","defaultiOSOptions","defaultTextTransformer","iosEndCallReasonMap","isVoipEvent","CallingxModule","_isSetup","_isOngoingCallsEnabled","_isHeadlessTaskRegistered","titleTransformer","text","subtitleTransformer","undefined","eventManager","voipEventManager","canPostNotifications","OS","isOngoingCallsEnabled","isSetup","setup","options","enableOngoingCalls","setShouldRejectCallWhenBusy","shouldRejectCallWhenBusy","setupiOS","ios","incomingChannel","ongoingChannel","android","notificationsConfig","id","Error","setupAndroid","shouldReject","getInitialEvents","getInitialVoipEvents","setCurrentCallActive","callId","displayIncomingCall","phoneNumber","callerName","hasVideo","displayOptions","displayTitle","displaySubtitle","answerIncomingCall","startCall","updateDisplay","endCallWithReason","reason","reasons","endCall","isCallRegistered","hasRegisteredCall","setMutedCall","isMuted","setOnHoldCall","isOnHold","registerBackgroundTask","taskProvider","stopTask","stopBackgroundTask","taskData","registerBackgroundTaskAvailable","startBackgroundTask","isServiceStarted","registerVoipToken","addEventListener","eventName","callback","manager","addListener","remove","removeListener","log","message","level","module"],"sourceRoot":"../../src","sources":["CallingxModule.ts"],"mappings":"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","ignoreList":[]}
@@ -24,25 +24,52 @@ export const defaultAndroidOptions = {
24
24
  }
25
25
  };
26
26
 
27
- // See ios/Callingx.mm for native iOS logic and constants mapping.
27
+ // iOS: maps to CXCallEndedReason raw values.
28
+ // See https://developer.apple.com/documentation/callkit/cxcallendedreason
29
+ // CXCallEndedReason: failed=1, remoteEnded=2, unanswered=3, answeredElsewhere=4, declinedElsewhere=5
28
30
  export const iosEndCallReasonMap = {
29
31
  local: -1,
30
- remote: 1,
31
- rejected: 4,
32
- busy: 2,
33
- answeredElsewhere: 3,
34
- missed: 2,
35
- error: 0
32
+ // special: uses endCall() instead of endCallWithReason()
33
+ remote: 2,
34
+ // .remoteEnded
35
+ rejected: 5,
36
+ // .declinedElsewhere
37
+ busy: 3,
38
+ // .unanswered
39
+ answeredElsewhere: 4,
40
+ // .answeredElsewhere
41
+ missed: 3,
42
+ // .unanswered
43
+ error: 1,
44
+ // .failed
45
+ canceled: 2,
46
+ // .remoteEnded (caller canceled before answer)
47
+ restricted: 1,
48
+ // .failed (no iOS equivalent)
49
+ unknown: 1 // .failed (no iOS equivalent)
36
50
  };
37
51
 
38
- // https://developer.android.com/reference/android/telecom/DisconnectCause
52
+ // Android: maps to android.telecom.DisconnectCause constants.
53
+ // See https://developer.android.com/reference/android/telecom/DisconnectCause
39
54
  export const androidEndCallReasonMap = {
40
55
  local: 2,
56
+ // LOCAL
41
57
  remote: 3,
58
+ // REMOTE
42
59
  rejected: 6,
60
+ // REJECTED
43
61
  busy: 7,
62
+ // BUSY
44
63
  answeredElsewhere: 11,
64
+ // ANSWERED_ELSEWHERE
45
65
  missed: 5,
46
- error: 1
66
+ // MISSED
67
+ error: 1,
68
+ // ERROR
69
+ canceled: 4,
70
+ // CANCELED
71
+ restricted: 8,
72
+ // RESTRICTED
73
+ unknown: 0 // UNKNOWN
47
74
  };
48
75
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defaultTextTransformer","text","defaultiOSOptions","supportsVideo","maximumCallsPerCallGroup","maximumCallGroups","handleType","sound","imageName","callsHistory","displayCallTimeout","defaultAndroidOptions","incomingChannel","id","name","vibration","ongoingChannel","iosEndCallReasonMap","local","remote","rejected","busy","answeredElsewhere","missed","error","androidEndCallReasonMap"],"sourceRoot":"../../../src","sources":["utils/constants.ts"],"mappings":";;AAQA,OAAO,MAAMA,sBAAuC,GAAIC,IAAY,IAAKA,IAAI;AAE7E,OAAO,MAAMC,iBAA+C,GAAG;EAC7DC,aAAa,EAAE,IAAI;EACnBC,wBAAwB,EAAE,CAAC;EAC3BC,iBAAiB,EAAE,CAAC;EACpBC,UAAU,EAAE,SAAS;EACrBC,KAAK,EAAE,EAAE;EACTC,SAAS,EAAE,EAAE;EACbC,YAAY,EAAE,KAAK;EACnBC,kBAAkB,EAAE,KAAK,CAAE;AAC7B,CAAC;AAED,OAAO,MAAMC,qBAA2D,GAAG;EACzEC,eAAe,EAAE;IACfC,EAAE,EAAE,+BAA+B;IACnCC,IAAI,EAAE,gBAAgB;IACtBP,KAAK,EAAE,EAAE;IACTQ,SAAS,EAAE;EACb,CAAC;EACDC,cAAc,EAAE;IACdH,EAAE,EAAE,8BAA8B;IAClCC,IAAI,EAAE;EACR;AACF,CAAC;;AAED;AACA,OAAO,MAAMG,mBAAkD,GAAG;EAChEC,KAAK,EAAE,CAAC,CAAC;EACTC,MAAM,EAAE,CAAC;EACTC,QAAQ,EAAE,CAAC;EACXC,IAAI,EAAE,CAAC;EACPC,iBAAiB,EAAE,CAAC;EACpBC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE;AACT,CAAC;;AAED;AACA,OAAO,MAAMC,uBAAsD,GAAG;EACpEP,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTC,QAAQ,EAAE,CAAC;EACXC,IAAI,EAAE,CAAC;EACPC,iBAAiB,EAAE,EAAE;EACrBC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE;AACT,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["defaultTextTransformer","text","defaultiOSOptions","supportsVideo","maximumCallsPerCallGroup","maximumCallGroups","handleType","sound","imageName","callsHistory","displayCallTimeout","defaultAndroidOptions","incomingChannel","id","name","vibration","ongoingChannel","iosEndCallReasonMap","local","remote","rejected","busy","answeredElsewhere","missed","error","canceled","restricted","unknown","androidEndCallReasonMap"],"sourceRoot":"../../../src","sources":["utils/constants.ts"],"mappings":";;AAQA,OAAO,MAAMA,sBAAuC,GAAIC,IAAY,IAAKA,IAAI;AAE7E,OAAO,MAAMC,iBAA+C,GAAG;EAC7DC,aAAa,EAAE,IAAI;EACnBC,wBAAwB,EAAE,CAAC;EAC3BC,iBAAiB,EAAE,CAAC;EACpBC,UAAU,EAAE,SAAS;EACrBC,KAAK,EAAE,EAAE;EACTC,SAAS,EAAE,EAAE;EACbC,YAAY,EAAE,KAAK;EACnBC,kBAAkB,EAAE,KAAK,CAAE;AAC7B,CAAC;AAED,OAAO,MAAMC,qBAA2D,GAAG;EACzEC,eAAe,EAAE;IACfC,EAAE,EAAE,+BAA+B;IACnCC,IAAI,EAAE,gBAAgB;IACtBP,KAAK,EAAE,EAAE;IACTQ,SAAS,EAAE;EACb,CAAC;EACDC,cAAc,EAAE;IACdH,EAAE,EAAE,8BAA8B;IAClCC,IAAI,EAAE;EACR;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMG,mBAAkD,GAAG;EAChEC,KAAK,EAAE,CAAC,CAAC;EAAE;EACXC,MAAM,EAAE,CAAC;EAAE;EACXC,QAAQ,EAAE,CAAC;EAAE;EACbC,IAAI,EAAE,CAAC;EAAE;EACTC,iBAAiB,EAAE,CAAC;EAAE;EACtBC,MAAM,EAAE,CAAC;EAAE;EACXC,KAAK,EAAE,CAAC;EAAE;EACVC,QAAQ,EAAE,CAAC;EAAE;EACbC,UAAU,EAAE,CAAC;EAAE;EACfC,OAAO,EAAE,CAAC,CAAE;AACd,CAAC;;AAED;AACA;AACA,OAAO,MAAMC,uBAAsD,GAAG;EACpEV,KAAK,EAAE,CAAC;EAAE;EACVC,MAAM,EAAE,CAAC;EAAE;EACXC,QAAQ,EAAE,CAAC;EAAE;EACbC,IAAI,EAAE,CAAC;EAAE;EACTC,iBAAiB,EAAE,EAAE;EAAE;EACvBC,MAAM,EAAE,CAAC;EAAE;EACXC,KAAK,EAAE,CAAC;EAAE;EACVC,QAAQ,EAAE,CAAC;EAAE;EACbC,UAAU,EAAE,CAAC;EAAE;EACfC,OAAO,EAAE,CAAC,CAAE;AACd,CAAC","ignoreList":[]}
@@ -1,9 +1,7 @@
1
- import type { PermissionsResult } from './utils/permissions';
2
1
  import type { ManagableTask } from './utils/headlessTask';
3
2
  import type { EventListener } from './EventManager';
4
3
  import { type ICallingxModule, type EndCallReason, type EventData, type EventName, type EventParams, type CallingExpOptions, type VoipEventName, type VoipEventParams, type VoipEventData } from './types';
5
4
  declare class CallingxModule implements ICallingxModule {
6
- private _isNotificationsAllowed;
7
5
  private _isSetup;
8
6
  private _isOngoingCallsEnabled;
9
7
  private _isHeadlessTaskRegistered;
@@ -11,13 +9,11 @@ declare class CallingxModule implements ICallingxModule {
11
9
  private subtitleTransformer;
12
10
  private eventManager;
13
11
  private voipEventManager;
14
- get isNotificationsAllowed(): boolean;
12
+ get canPostNotifications(): boolean;
15
13
  get isOngoingCallsEnabled(): boolean;
16
14
  get isSetup(): boolean;
17
15
  setup(options: CallingExpOptions): void;
18
16
  setShouldRejectCallWhenBusy(shouldReject: boolean): void;
19
- requestPermissions(): Promise<PermissionsResult>;
20
- checkPermissions(): Promise<PermissionsResult>;
21
17
  getInitialEvents(): EventData[];
22
18
  getInitialVoipEvents(): VoipEventData[];
23
19
  setCurrentCallActive(callId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"CallingxModule.d.ts","sourceRoot":"","sources":["../../../src/CallingxModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CallingxModule.d.ts","sourceRoot":"","sources":["../../../src/CallingxModule.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,16 @@
1
1
  import type { EventListener } from './EventManager';
2
2
  import type { ManagableTask } from './utils/headlessTask';
3
- import type { PermissionsResult } from './utils/permissions';
4
3
  export interface ICallingxModule {
5
- get isNotificationsAllowed(): boolean;
4
+ /**
5
+ * Whether the module can post call notifications. Android only. iOS always returns true.
6
+ * Returns true when:
7
+ * - The incoming notification channel is enabled,
8
+ * - The ongoing notification channel is enabled,
9
+ * - And on Android 12 and below: app notifications are enabled in system settings.
10
+ * CallStyle is exempt from the POST_NOTIFICATIONS permission on Android 13+ when self-managing calls.
11
+ * @returns The boolean value.
12
+ */
13
+ get canPostNotifications(): boolean;
6
14
  get isOngoingCallsEnabled(): boolean;
7
15
  get isSetup(): boolean;
8
16
  /**
@@ -20,12 +28,6 @@ export interface ICallingxModule {
20
28
  * @param shouldReject - Whether to reject calls when the user is busy.
21
29
  */
22
30
  setShouldRejectCallWhenBusy(shouldReject: boolean): void;
23
- /**
24
- * Check the permissions.
25
- * @returns The permissions result.
26
- */
27
- checkPermissions(): Promise<PermissionsResult>;
28
- requestPermissions(): Promise<PermissionsResult>;
29
31
  /**
30
32
  * Get the initial events. This method is used to get the initial events from the app launch.
31
33
  * The events are queued and can be retrieved after the module is setup.
@@ -129,7 +131,7 @@ export type InternalIOSOptions = {
129
131
  */
130
132
  displayCallTimeout?: number;
131
133
  };
132
- type iOSOptions = Omit<InternalIOSOptions, 'maximumCallsPerCallGroup' | 'maximumCallGroups' | 'handleType' | 'setupAudioSession'>;
134
+ type iOSOptions = Omit<InternalIOSOptions, 'maximumCallsPerCallGroup' | 'maximumCallGroups' | 'handleType'>;
133
135
  export type InternalAndroidOptions = {
134
136
  /**
135
137
  * Incoming channel configuration.
@@ -244,6 +246,35 @@ export type VoipEventParams = {
244
246
  };
245
247
  };
246
248
  };
247
- export type EndCallReason = 'local' | 'remote' | 'rejected' | 'busy' | 'answeredElsewhere' | 'missed' | 'error';
249
+ /**
250
+ * The reason for ending a call. These values are mapped to platform-specific
251
+ * constants on each platform:
252
+ * - iOS: `CXCallEndedReason` (CallKit)
253
+ * - Android: `DisconnectCause` (Telecom)
254
+ *
255
+ * @see https://developer.apple.com/documentation/callkit/cxcallendedreason
256
+ * @see https://developer.android.com/reference/android/telecom/DisconnectCause
257
+ */
258
+ export type EndCallReason =
259
+ /** Call ended by the local user (e.g., hanging up). */
260
+ 'local'
261
+ /** Call ended by the remote party, or outgoing call was not answered. */
262
+ | 'remote'
263
+ /** Call was rejected/declined by the user. */
264
+ | 'rejected'
265
+ /** Remote party was busy. */
266
+ | 'busy'
267
+ /** Call was answered on another device. */
268
+ | 'answeredElsewhere'
269
+ /** No response to an incoming call. */
270
+ | 'missed'
271
+ /** Call failed due to an error (e.g., network issue). */
272
+ | 'error'
273
+ /** Call was canceled before the remote party could answer. */
274
+ | 'canceled'
275
+ /** Call restricted (e.g., airplane mode, dialing restrictions). */
276
+ | 'restricted'
277
+ /** Unknown or unspecified disconnect reason. */
278
+ | 'unknown';
248
279
  export {};
249
280
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,sBAAsB,EAAE,eAAwC,CAAC;AAE9E,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,CAS1D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,sBAAsB,CAWtE,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAQ7D,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAQjE,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,sBAAsB,EAAE,eAAwC,CAAC;AAE9E,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,CAS1D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,sBAAsB,CAWtE,CAAC;AAKF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAW7D,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAWjE,CAAC"}
@@ -15,7 +15,7 @@ import stream_react_native_webrtc
15
15
  #else
16
16
  categoryOptions = [.allowBluetooth, .defaultToSpeaker]
17
17
  #endif
18
- let mode: AVAudioSession.Mode = .videoChat
18
+ let mode: AVAudioSession.Mode = .voiceChat
19
19
 
20
20
  // Configure RTCAudioSessionConfiguration to match our intended settings
21
21
  // This ensures WebRTC's internal state stays consistent during interruptions/route changes
@@ -31,12 +31,7 @@ import stream_react_native_webrtc
31
31
  defer { rtcSession.unlockForConfiguration() }
32
32
 
33
33
  do {
34
- try rtcSession.setCategory(.playAndRecord, mode: mode, options: categoryOptions)
35
-
36
- // Apply sample rate and IO buffer duration from WebRTC's config (source of truth)
37
- // This keeps CallKit setup aligned with WebRTC's intended tuning (e.g. 48kHz and ~20ms by default)
38
- try rtcSession.setPreferredSampleRate(rtcConfig.sampleRate)
39
- try rtcSession.setPreferredIOBufferDuration(rtcConfig.ioBufferDuration)
34
+ try rtcSession.setConfiguration(rtcConfig)
40
35
  } catch {
41
36
  #if DEBUG
42
37
  print("[Callingx][createAudioSessionIfNeeded] Error configuring audio session: \(error)")