@stream-io/video-react-native-sdk 1.40.2 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/android/src/main/java/com/streamvideo/reactnative/audio/AudioDeviceManager.kt +79 -54
  3. package/android/src/main/java/com/streamvideo/reactnative/audio/utils/AudioManagerUtil.kt +6 -2
  4. package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +3 -3
  5. package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js +2 -0
  6. package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
  7. package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js +22 -31
  8. package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
  9. package/dist/commonjs/components/Call/RingingCallContent/IncomingCall.js +8 -5
  10. package/dist/commonjs/components/Call/RingingCallContent/IncomingCall.js.map +1 -1
  11. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js +2 -1
  12. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
  13. package/dist/commonjs/hooks/index.js +11 -0
  14. package/dist/commonjs/hooks/index.js.map +1 -1
  15. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +73 -0
  16. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
  17. package/dist/commonjs/hooks/useAudioDeviceStatus.js +76 -0
  18. package/dist/commonjs/hooks/useAudioDeviceStatus.js.map +1 -0
  19. package/dist/commonjs/modules/call-manager/CallManager.js +94 -47
  20. package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
  21. package/dist/commonjs/utils/internal/callingx/callingx.js +0 -7
  22. package/dist/commonjs/utils/internal/callingx/callingx.js.map +1 -1
  23. package/dist/commonjs/utils/push/setupCallingExpEvents.js +31 -2
  24. package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +1 -1
  25. package/dist/commonjs/version.js +1 -1
  26. package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js +3 -1
  27. package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
  28. package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js +23 -32
  29. package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
  30. package/dist/module/components/Call/RingingCallContent/IncomingCall.js +9 -6
  31. package/dist/module/components/Call/RingingCallContent/IncomingCall.js.map +1 -1
  32. package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js +2 -1
  33. package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
  34. package/dist/module/hooks/index.js +1 -0
  35. package/dist/module/hooks/index.js.map +1 -1
  36. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +73 -0
  37. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
  38. package/dist/module/hooks/useAudioDeviceStatus.js +71 -0
  39. package/dist/module/hooks/useAudioDeviceStatus.js.map +1 -0
  40. package/dist/module/modules/call-manager/CallManager.js +94 -47
  41. package/dist/module/modules/call-manager/CallManager.js.map +1 -1
  42. package/dist/module/utils/internal/callingx/callingx.js +0 -7
  43. package/dist/module/utils/internal/callingx/callingx.js.map +1 -1
  44. package/dist/module/utils/push/setupCallingExpEvents.js +32 -3
  45. package/dist/module/utils/push/setupCallingExpEvents.js.map +1 -1
  46. package/dist/module/version.js +1 -1
  47. package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts.map +1 -1
  48. package/dist/typescript/components/Call/CallParticipantsList/CallParticipantsList.d.ts.map +1 -1
  49. package/dist/typescript/components/Call/RingingCallContent/IncomingCall.d.ts.map +1 -1
  50. package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/index.d.ts.map +1 -1
  51. package/dist/typescript/hooks/index.d.ts +1 -0
  52. package/dist/typescript/hooks/index.d.ts.map +1 -1
  53. package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +1 -1
  54. package/dist/typescript/hooks/useAudioDeviceStatus.d.ts +21 -0
  55. package/dist/typescript/hooks/useAudioDeviceStatus.d.ts.map +1 -0
  56. package/dist/typescript/modules/call-manager/CallManager.d.ts +25 -11
  57. package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
  58. package/dist/typescript/modules/call-manager/types.d.ts +29 -3
  59. package/dist/typescript/modules/call-manager/types.d.ts.map +1 -1
  60. package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +1 -1
  61. package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +1 -1
  62. package/dist/typescript/version.d.ts +1 -1
  63. package/expo-config-plugin/dist/index.js +2 -0
  64. package/expo-config-plugin/dist/withAndroidMessagingService.js +287 -0
  65. package/ios/StreamInCallManager.m +7 -0
  66. package/ios/StreamInCallManager.swift +257 -14
  67. package/package.json +8 -8
  68. package/src/components/Call/CallLayout/CallParticipantsSpotlight.tsx +6 -1
  69. package/src/components/Call/CallParticipantsList/CallParticipantsList.tsx +63 -62
  70. package/src/components/Call/RingingCallContent/IncomingCall.tsx +10 -12
  71. package/src/components/Participant/ParticipantView/VideoRenderer/index.tsx +4 -1
  72. package/src/hooks/index.ts +1 -0
  73. package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +95 -0
  74. package/src/hooks/useAudioDeviceStatus.ts +90 -0
  75. package/src/modules/call-manager/CallManager.ts +122 -64
  76. package/src/modules/call-manager/native-module.d.ts +14 -7
  77. package/src/modules/call-manager/types.ts +30 -3
  78. package/src/utils/internal/callingx/callingx.ts +0 -8
  79. package/src/utils/push/setupCallingExpEvents.ts +41 -3
  80. package/src/version.ts +1 -1
  81. package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js +0 -68
  82. package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js.map +0 -1
  83. package/dist/module/utils/internal/callingx/audioSessionPromise.js +0 -63
  84. package/dist/module/utils/internal/callingx/audioSessionPromise.js.map +0 -1
  85. package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts +0 -16
  86. package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts.map +0 -1
  87. package/src/utils/internal/callingx/audioSessionPromise.ts +0 -65
package/CHANGELOG.md CHANGED
@@ -2,6 +2,54 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.42.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.41.0...@stream-io/video-react-native-sdk-1.42.0) (2026-07-30)
6
+
7
+ ### Dependency Updates
8
+
9
+ - `@stream-io/noise-cancellation-react-native` updated to version `0.9.5`
10
+ - `@stream-io/react-native-callingx` updated to version `0.8.1`
11
+ - `@stream-io/video-filters-react-native` updated to version `0.14.5`
12
+ - `@stream-io/typescript-config` updated to version `0.1.0`
13
+ - `@stream-io/video-client` updated to version `1.56.0`
14
+ - **Features**
15
+ - **react-sdk:** show blocked audio overlay per participant ([#2341](https://github.com/GetStream/stream-video-js/issues/2341)) ([4fe5c40](https://github.com/GetStream/stream-video-js/commit/4fe5c40aaed1829125bff49deec39a008c7abec5))
16
+ - **Bug Fixes**
17
+ - **client:** fix stale mid in SetPublisher after PeerConnection rollback ([#2344](https://github.com/GetStream/stream-video-js/issues/2344)) ([9c3e201](https://github.com/GetStream/stream-video-js/commit/9c3e201c9a1cf129e182da961b1d73652508b9f2))
18
+ - **client:** never announce two tracks for the same publish option ([#2352](https://github.com/GetStream/stream-video-js/issues/2352)) ([b9a0c6e](https://github.com/GetStream/stream-video-js/commit/b9a0c6e709805e8658e74a68dc6e84459353db37))
19
+ - **client:** preserve ICE state in peer connection failure reports ([#2340](https://github.com/GetStream/stream-video-js/issues/2340)) ([2ce42a2](https://github.com/GetStream/stream-video-js/commit/2ce42a229eecfc60ae8f6783672c517b94b6ab42))
20
+ - `@stream-io/video-react-bindings` updated to version `1.19.1`
21
+
22
+ ### Features
23
+
24
+ - add iOS audio output selection methods ([#2334](https://github.com/GetStream/stream-video-js/issues/2334)) ([e858efe](https://github.com/GetStream/stream-video-js/commit/e858efee6f8741a7f0e469789c64b2780dbcb5ce))
25
+ - added expo plugin for resolving fcm conflicts issue ([#2350](https://github.com/GetStream/stream-video-js/issues/2350)) ([b083873](https://github.com/GetStream/stream-video-js/commit/b0838731e3a040ab87866621f66f36e6827fd0cc))
26
+
27
+ ### Bug Fixes
28
+
29
+ - wait for callkit audio activation and then start audio engine, remove the previous timeout ([#2328](https://github.com/GetStream/stream-video-js/issues/2328)) ([64d6cff](https://github.com/GetStream/stream-video-js/commit/64d6cff02112fa7f9b2ed273f27006675f1d798d))
30
+
31
+ ## [1.41.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.40.2...@stream-io/video-react-native-sdk-1.41.0) (2026-07-17)
32
+
33
+ ### Dependency Updates
34
+
35
+ - `@stream-io/noise-cancellation-react-native` updated to version `0.9.3`
36
+ - `@stream-io/react-native-callingx` updated to version `0.7.0`
37
+ - `@stream-io/video-filters-react-native` updated to version `0.14.3`
38
+ - `@stream-io/typescript-config` updated to version `0.1.0`
39
+ - `@stream-io/video-client` updated to version `1.55.2`
40
+ - `@stream-io/video-react-bindings` updated to version `1.18.3`
41
+
42
+ ### Features
43
+
44
+ - improved providerDidReset handling ([#2329](https://github.com/GetStream/stream-video-js/issues/2329)) ([ccb2273](https://github.com/GetStream/stream-video-js/commit/ccb2273e4cb8cf386df3323fec49c2c98a469119))
45
+
46
+ ### Bug Fixes
47
+
48
+ - only render RTCView once stream has a video track ([#2331](https://github.com/GetStream/stream-video-js/issues/2331)) ([70cb902](https://github.com/GetStream/stream-video-js/commit/70cb9029d3a6c888743a02011332d683562d42ec))
49
+ - **react-native-sdk:** replace deprecated ImageBackground in IncomingCall ([#2327](https://github.com/GetStream/stream-video-js/issues/2327)) ([4c114ab](https://github.com/GetStream/stream-video-js/commit/4c114ab405fc47782ff432c6d186d20319d9c673))
50
+ - scrolling-off reported visibility incorrectly ([#2330](https://github.com/GetStream/stream-video-js/issues/2330)) ([88d5e97](https://github.com/GetStream/stream-video-js/commit/88d5e97d2c38a6035b70a9e2fc0596a88277e9f6))
51
+ - use speakerLayoutSortPreset in RN spotlight view ([#2332](https://github.com/GetStream/stream-video-js/issues/2332)) ([910a5de](https://github.com/GetStream/stream-video-js/commit/910a5de6160cc34de99ea1615ef40bb034c57078))
52
+
5
53
  ## [1.40.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.40.1...@stream-io/video-react-native-sdk-1.40.2) (2026-07-09)
6
54
 
7
55
  ### Dependency Updates
@@ -58,7 +58,7 @@ class AudioDeviceManager(
58
58
  val nonBluetoothEndpoints = HashMap<@EndpointType Int, AudioDeviceEndpoint>()
59
59
  for (device in initialEndpoints) {
60
60
  if (device.isBluetoothType()) {
61
- bluetoothEndpoints[device.name] = device
61
+ bluetoothEndpoints[device.deviceId.toString()] = device
62
62
  } else {
63
63
  nonBluetoothEndpoints[device.type] = device
64
64
  }
@@ -66,7 +66,7 @@ class AudioDeviceManager(
66
66
  EndpointMaps(bluetoothEndpoints, nonBluetoothEndpoints)
67
67
  }
68
68
 
69
- private var cachedAvailableEndpointNamesSet = setOf<String>()
69
+ private var cachedAvailableEndpointIdsSet = setOf<String>()
70
70
 
71
71
  /** Returns the currently selected audio device. */
72
72
  private var _selectedAudioDeviceEndpoint: AudioDeviceEndpoint? = null
@@ -85,10 +85,6 @@ class AudioDeviceManager(
85
85
  @EndpointType
86
86
  var defaultAudioDevice = AudioDeviceEndpoint.TYPE_SPEAKER
87
87
 
88
- /** Contains the user-selected audio device which overrides the predefined selection scheme */
89
- @EndpointType
90
- private var userSelectedAudioDevice: Int? = null
91
-
92
88
  var enableStereo: Boolean = false
93
89
 
94
90
  private val mAudioManager =
@@ -137,7 +133,6 @@ class AudioDeviceManager(
137
133
  fun start(activity: Activity) {
138
134
  runInAudioThread {
139
135
  setup()
140
- userSelectedAudioDevice = null
141
136
  selectedAudioDeviceEndpoint = null
142
137
  if (callAudioRole == CallAudioRole.Communicator) {
143
138
  // Audio routing is manually controlled by the SDK in communication media mode
@@ -190,13 +185,28 @@ class AudioDeviceManager(
190
185
  }
191
186
  }
192
187
 
193
- private fun getEndpointFromName(name: String): AudioDeviceEndpoint? {
194
- val endpointType = AudioDeviceEndpointUtils.endpointStringToType(name)
195
- val endpoint = when (endpointType) {
196
- AudioDeviceEndpoint.TYPE_SPEAKER, AudioDeviceEndpoint.TYPE_EARPIECE, AudioDeviceEndpoint.TYPE_WIRED_HEADSET -> mEndpointMaps.nonBluetoothEndpoints[endpointType]
197
- else -> mEndpointMaps.bluetoothEndpoints[name]
188
+ private fun bluetoothEndpointByName(name: String?): AudioDeviceEndpoint? {
189
+ if (name == null) return null
190
+ return mEndpointMaps.bluetoothEndpoints.values.firstOrNull { it.name == name }
191
+ }
192
+
193
+ /**
194
+ * Resolves the currently-active Bluetooth endpoint.
195
+ */
196
+ private fun activeBluetoothEndpoint(): AudioDeviceEndpoint? {
197
+ if (Build.VERSION.SDK_INT >= 31) {
198
+ mAudioManager.communicationDevice?.id?.toString()?.let { id ->
199
+ mEndpointMaps.bluetoothEndpoints[id]?.let { return it }
200
+ }
201
+ }
202
+ return bluetoothEndpointByName(bluetoothManager.getDeviceName())
203
+ }
204
+
205
+ /** Resolves a non-Bluetooth endpoint by its stable device id. */
206
+ private fun nonBluetoothEndpointById(deviceId: String): AudioDeviceEndpoint? {
207
+ return mEndpointMaps.nonBluetoothEndpoints.values.firstOrNull {
208
+ it.deviceId.toString() == deviceId
198
209
  }
199
- return endpoint
200
210
  }
201
211
 
202
212
  fun setSpeakerphoneOn(enable: Boolean) {
@@ -227,16 +237,12 @@ class AudioDeviceManager(
227
237
  this.selectedAudioDeviceEndpoint = newDevice
228
238
  }
229
239
 
230
- fun switchDeviceFromDeviceName(
231
- deviceName: String
240
+ fun switchDeviceById(
241
+ deviceId: String
232
242
  ) {
233
- Log.d(TAG, "switchDeviceFromDeviceName: deviceName = $deviceName")
234
- Log.d(
235
- TAG,
236
- "switchDeviceFromDeviceName: mEndpointMaps.bluetoothEndpoints = ${mEndpointMaps.bluetoothEndpoints}"
237
- )
243
+ Log.d(TAG, "switchDeviceById: deviceId = $deviceId")
238
244
  runInAudioThread {
239
- val btDevice = mEndpointMaps.bluetoothEndpoints[deviceName]
245
+ val btDevice = mEndpointMaps.bluetoothEndpoints[deviceId]
240
246
  if (btDevice != null) {
241
247
  if (Build.VERSION.SDK_INT >= 31) {
242
248
  mAudioManager.setCommunicationDevice(btDevice.deviceInfo)
@@ -248,10 +254,12 @@ class AudioDeviceManager(
248
254
  )
249
255
  }
250
256
  } else {
251
- val endpointType = AudioDeviceEndpointUtils.endpointStringToType(deviceName)
252
- switchDeviceEndpointType(
253
- endpointType
254
- )
257
+ val endpoint = nonBluetoothEndpointById(deviceId)
258
+ if (endpoint != null) {
259
+ switchDeviceEndpointType(endpoint.type)
260
+ } else {
261
+ Log.e(TAG, "switchDeviceById: no endpoint found for id $deviceId")
262
+ }
255
263
  }
256
264
  }
257
265
  }
@@ -308,25 +316,39 @@ class AudioDeviceManager(
308
316
  }
309
317
 
310
318
  private fun getCurrentDeviceEndpoints(): List<AudioDeviceEndpoint> {
311
- if (Build.VERSION.SDK_INT >= 31) {
312
- return (mEndpointMaps.bluetoothEndpoints.values + mEndpointMaps.nonBluetoothEndpoints.values).sorted()
319
+ val endpoints = if (Build.VERSION.SDK_INT >= 31) {
320
+ (mEndpointMaps.bluetoothEndpoints.values + mEndpointMaps.nonBluetoothEndpoints.values).sorted()
313
321
  } else {
314
- val btEndpoint = mEndpointMaps.bluetoothEndpoints[bluetoothManager.getDeviceName()]
322
+ val btEndpoint = bluetoothEndpointByName(bluetoothManager.getDeviceName())
315
323
  if (btEndpoint != null) {
316
324
  val list = mutableListOf(btEndpoint)
317
325
  list.addAll(mEndpointMaps.nonBluetoothEndpoints.values)
318
- return list.sorted()
326
+ list.sorted()
319
327
  } else {
320
- return mEndpointMaps.nonBluetoothEndpoints.values.sorted()
328
+ mEndpointMaps.nonBluetoothEndpoints.values.sorted()
321
329
  }
330
+ }
331
+ return maybeRemoveEarpieceIfWiredPresent(endpoints)
332
+ }
322
333
 
334
+ /**
335
+ * When a wired headset is connected the built-in earpiece is not separately
336
+ * routable — the wired plug physically occupies the receiver path
337
+ */
338
+ private fun maybeRemoveEarpieceIfWiredPresent(
339
+ endpoints: List<AudioDeviceEndpoint>
340
+ ): List<AudioDeviceEndpoint> {
341
+ if (endpoints.any { it.isWiredHeadsetType() }) {
342
+ return endpoints.filterNot { it.type == AudioDeviceEndpoint.TYPE_EARPIECE }
323
343
  }
344
+ return endpoints
324
345
  }
325
346
 
326
347
  private fun maybeAddCallEndpoint(endpoint: AudioDeviceEndpoint): Int {
327
348
  if (endpoint.isBluetoothType()) {
328
- if (!mEndpointMaps.bluetoothEndpoints.containsKey(endpoint.name)) {
329
- mEndpointMaps.bluetoothEndpoints[endpoint.name] = endpoint
349
+ val key = endpoint.deviceId.toString()
350
+ if (!mEndpointMaps.bluetoothEndpoints.containsKey(key)) {
351
+ mEndpointMaps.bluetoothEndpoints[key] = endpoint
330
352
  Log.d(TAG, "maybeAddCallEndpoint: bluetooth endpoint added: " + endpoint.name)
331
353
  return 1
332
354
  }
@@ -343,8 +365,9 @@ class AudioDeviceManager(
343
365
  private fun maybeRemoveCallEndpoint(endpoint: AudioDeviceEndpoint): Int {
344
366
  // TODO:: determine if it is necessary to cleanup listeners here
345
367
  if (endpoint.isBluetoothType()) {
346
- if (mEndpointMaps.bluetoothEndpoints.containsKey(endpoint.name)) {
347
- mEndpointMaps.bluetoothEndpoints.remove(endpoint.name)
368
+ val key = endpoint.deviceId.toString()
369
+ if (mEndpointMaps.bluetoothEndpoints.containsKey(key)) {
370
+ mEndpointMaps.bluetoothEndpoints.remove(key)
348
371
  Log.d(TAG, "maybeRemoveCallEndpoint: bluetooth endpoint removed: " + endpoint.name)
349
372
  return 1
350
373
  }
@@ -405,18 +428,17 @@ class AudioDeviceManager(
405
428
  return@runInAudioThread
406
429
  }
407
430
  val audioDevices = getCurrentDeviceEndpoints()
408
- val audioDeviceNamesSet = audioDevices.map { it.name }.toSet()
409
- val devicesChanged = if (cachedAvailableEndpointNamesSet.size != audioDevices.size) {
431
+ // Compare by stable device id, not name
432
+ val audioDeviceIdsSet = audioDevices.map { it.deviceId.toString() }.toSet()
433
+ val devicesChanged = if (cachedAvailableEndpointIdsSet.size != audioDevices.size) {
410
434
  true
411
435
  } else {
412
- cachedAvailableEndpointNamesSet != audioDeviceNamesSet
436
+ cachedAvailableEndpointIdsSet != audioDeviceIdsSet
413
437
  }
414
- cachedAvailableEndpointNamesSet = audioDeviceNamesSet
438
+ cachedAvailableEndpointIdsSet = audioDeviceIdsSet
415
439
  Log.d(
416
440
  TAG,
417
- ("updateAudioDeviceState() Device status: available=$audioDevices, selected=$selectedAudioDeviceEndpoint, user selected=" + endpointTypeDebug(
418
- userSelectedAudioDevice
419
- ))
441
+ ("updateAudioDeviceState() Device status: available=$audioDevices, selected=$selectedAudioDeviceEndpoint")
420
442
  )
421
443
 
422
444
  if (devicesChanged) {
@@ -437,10 +459,6 @@ class AudioDeviceManager(
437
459
  newAudioDevice = it.type
438
460
  }
439
461
  var deviceSwitched = false
440
- val userSelectedAudioDevice = this.userSelectedAudioDevice
441
- if (userSelectedAudioDevice !== null && userSelectedAudioDevice != AudioDeviceEndpoint.TYPE_UNKNOWN) {
442
- newAudioDevice = userSelectedAudioDevice
443
- }
444
462
  Log.d(
445
463
  TAG, ("Decided newAudioDevice: ${endpointTypeDebug(newAudioDevice)}")
446
464
  )
@@ -452,10 +470,6 @@ class AudioDeviceManager(
452
470
  * */
453
471
  fun revertBTSelection() {
454
472
  val selectedAudioDeviceEndpoint = this.selectedAudioDeviceEndpoint
455
- // BT connection, so revert user selection if needed
456
- if (userSelectedAudioDevice == AudioDeviceEndpoint.TYPE_BLUETOOTH) {
457
- this.userSelectedAudioDevice = null
458
- }
459
473
  // prev selection was not BT, but new was BT
460
474
  // new can now be WiredHeadset or default if there was no selection before
461
475
  if (selectedAudioDeviceEndpoint != null && selectedAudioDeviceEndpoint.type != AudioDeviceEndpoint.TYPE_UNKNOWN && selectedAudioDeviceEndpoint.type != AudioDeviceEndpoint.TYPE_BLUETOOTH) {
@@ -492,8 +506,7 @@ class AudioDeviceManager(
492
506
 
493
507
  // already selected BT device
494
508
  if (bluetoothManager.bluetoothState == BluetoothManager.State.SCO_CONNECTED) {
495
- selectedAudioDeviceEndpoint =
496
- getEndpointFromName(bluetoothManager.getDeviceName()!!)
509
+ selectedAudioDeviceEndpoint = activeBluetoothEndpoint()
497
510
  this.selectedAudioDeviceEndpoint = selectedAudioDeviceEndpoint
498
511
  deviceSwitched = true
499
512
  } else if (
@@ -566,12 +579,24 @@ class AudioDeviceManager(
566
579
 
567
580
  fun audioStatusMap(): WritableMap {
568
581
  val endpoint = this.selectedAudioDeviceEndpoint
569
- val availableEndpoints = Arguments.fromList(getCurrentDeviceEndpoints().map { it.name })
582
+ val devices = Arguments.createArray()
583
+ for (device in getCurrentDeviceEndpoints()) {
584
+ val deviceMap = Arguments.createMap()
585
+ deviceMap.putString("id", device.deviceId.toString())
586
+ deviceMap.putString("name", device.name)
587
+ deviceMap.putString(
588
+ "type",
589
+ AudioDeviceEndpointUtils.endpointTypeToString(device.type)
590
+ )
591
+ devices.pushMap(deviceMap)
592
+ }
570
593
 
571
594
  val data = Arguments.createMap()
572
- data.putArray("devices", availableEndpoints)
595
+ data.putArray("devices", devices)
573
596
  data.putString("currentEndpointType", endpointTypeDebug(endpoint?.type))
574
- data.putString("selectedDevice", endpoint?.name)
597
+ if (endpoint != null) {
598
+ data.putString("selectedDeviceId", endpoint.deviceId.toString())
599
+ }
575
600
  return data
576
601
  }
577
602
 
@@ -108,7 +108,9 @@ internal class AudioManagerUtil {
108
108
  AudioDeviceEndpoint.TYPE_BLUETOOTH -> {
109
109
  val didSwitch = bluetoothManager.startScoAudio()
110
110
  if (didSwitch) {
111
- return endpointMaps.bluetoothEndpoints[bluetoothManager.getDeviceName()]
111
+ val activeId = audioManager.communicationDevice?.id?.toString()
112
+ ?: return null
113
+ return endpointMaps.bluetoothEndpoints[activeId]
112
114
  }
113
115
  return null
114
116
  }
@@ -166,7 +168,9 @@ internal class AudioManagerUtil {
166
168
  val didSwitch = bluetoothManager.startScoAudio()
167
169
  if (didSwitch) {
168
170
  // NOTE: SCO connection may fail after timeout, how to catch that on older platforms?
169
- return endpointMaps.bluetoothEndpoints[bluetoothManager.getDeviceName()]
171
+ return endpointMaps.bluetoothEndpoints.values.firstOrNull {
172
+ it.name == bluetoothManager.getDeviceName()
173
+ }
170
174
  }
171
175
  return null
172
176
  }
@@ -190,7 +190,7 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
190
190
 
191
191
  @Suppress("unused")
192
192
  @ReactMethod
193
- fun chooseAudioDeviceEndpoint(endpointDeviceName: String) {
193
+ fun chooseAudioDeviceEndpoint(deviceId: String) {
194
194
  AudioDeviceManager.runInAudioThread {
195
195
  if (mAudioDeviceManager.callAudioRole !== CallAudioRole.Communicator) {
196
196
  Log.e(
@@ -199,8 +199,8 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
199
199
  )
200
200
  return@runInAudioThread
201
201
  }
202
- mAudioDeviceManager.switchDeviceFromDeviceName(
203
- endpointDeviceName
202
+ mAudioDeviceManager.switchDeviceById(
203
+ deviceId
204
204
  )
205
205
  }
206
206
  }
@@ -54,6 +54,8 @@ const CallParticipantsSpotlight = ({
54
54
  const sub = call.state.participants$.pipe((0, _rxjs.debounceTime)(300)).subscribe(setAllParticipants);
55
55
  return () => sub.unsubscribe();
56
56
  }, [call]);
57
+ const isOneOnOneCall = allParticipants.length === 2;
58
+ (0, _videoReactBindings.useSpeakerLayoutSortPreset)(call, isOneOnOneCall);
57
59
  const [participantInSpotlight, ...otherParticipants] = allParticipants;
58
60
  const isScreenShareOnSpotlight = participantInSpotlight && (0, _videoClient.hasScreenShare)(participantInSpotlight);
59
61
  const isUserAloneInCall = allParticipants.length === 1;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_videoClient","_videoReactBindings","_reactNative","_rxjs","_TestIds","_CallParticipantsList","_Participant","_ThemeContext","_useIsInPiPMode","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CallParticipantsSpotlight","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","DefaultParticipantView","ScreenShareOverlay","VideoRenderer","supportedReactions","mirror","landscape","theme","callParticipantsSpotlight","variants","useTheme","styles","useStyles","useCall","allParticipants","setAllParticipants","useState","state","participants","useEffect","sub","participants$","pipe","debounceTime","subscribe","unsubscribe","participantInSpotlight","otherParticipants","isScreenShareOnSpotlight","hasScreenShare","isUserAloneInCall","length","isInPiP","useIsInPiPMode","participantViewProps","callParticipantsListProps","spotlightParticipantStyle","useMemo","fullScreenSpotlightContainer","spotlightContainer","marginHorizontal","spacingSizes","xs","showShareScreenOverlay","isLocalParticipant","jsxs","View","testID","ComponentTestIds","CALL_PARTICIPANTS_SPOTLIGHT","style","container","landscapeStyles","row","column","children","jsx","participant","objectFit","trackType","callParticipantsListContainer","horizontal","numberOfColumns","exports","StyleSheet","create","flexDirection","flex","backgroundColor","colors","sheetPrimary","overflow","borderRadius","borderRadiusSizes","sm"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsSpotlight.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_videoClient","_videoReactBindings","_reactNative","_rxjs","_TestIds","_CallParticipantsList","_Participant","_ThemeContext","_useIsInPiPMode","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CallParticipantsSpotlight","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","DefaultParticipantView","ScreenShareOverlay","VideoRenderer","supportedReactions","mirror","landscape","theme","callParticipantsSpotlight","variants","useTheme","styles","useStyles","useCall","allParticipants","setAllParticipants","useState","state","participants","useEffect","sub","participants$","pipe","debounceTime","subscribe","unsubscribe","isOneOnOneCall","length","useSpeakerLayoutSortPreset","participantInSpotlight","otherParticipants","isScreenShareOnSpotlight","hasScreenShare","isUserAloneInCall","isInPiP","useIsInPiPMode","participantViewProps","callParticipantsListProps","spotlightParticipantStyle","useMemo","fullScreenSpotlightContainer","spotlightContainer","marginHorizontal","spacingSizes","xs","showShareScreenOverlay","isLocalParticipant","jsxs","View","testID","ComponentTestIds","CALL_PARTICIPANTS_SPOTLIGHT","style","container","landscapeStyles","row","column","children","jsx","participant","objectFit","trackType","callParticipantsListContainer","horizontal","numberOfColumns","exports","StyleSheet","create","flexDirection","flex","backgroundColor","colors","sheetPrimary","overflow","borderRadius","borderRadiusSizes","sm"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsSpotlight.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,6 @@ exports.CallParticipantsList = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _videoClient = require("@stream-io/video-client");
10
- var _rxjs = require("rxjs");
11
10
  var _videoReactBindings = require("@stream-io/video-react-bindings");
12
11
  var _TestIds = require("../../../constants/TestIds");
13
12
  var _ParticipantView = require("../../Participant/ParticipantView");
@@ -57,19 +56,15 @@ const CallParticipantsList = ({
57
56
  if (!viewableParticipantSessionIds.current) {
58
57
  viewableParticipantSessionIds.current = new Set();
59
58
  }
60
- const forceUpdate$Ref = (0, _react.useRef)(null);
61
- if (!forceUpdate$Ref.current) {
62
- forceUpdate$Ref.current = new _rxjs.Subject();
63
- }
64
- const forceUpdate$ = forceUpdate$Ref.current;
65
- const [forceUpdateValue, setForceUpdateValue] = (0, _react.useState)(0);
66
- (0, _react.useEffect)(() => {
67
- const sub = forceUpdate$.pipe((0, _rxjs.debounceTime)(500)).subscribe(() => {
68
- setForceUpdateValue(v => v + 1);
69
- });
70
- return () => sub.unsubscribe();
71
- }, [forceUpdate$]);
72
- const forceUpdate = (0, _react.useCallback)(() => forceUpdate$.next(), [forceUpdate$]);
59
+ // Debounced force re-render: coalesces rapid viewability changes into a single
60
+ // re-render 500ms after the last change (drives the FlatList `extraData` below).
61
+ const [forceUpdateValue, forceRender] = (0, _react.useReducer)(v => v + 1, 0);
62
+ const forceUpdateTimeout = (0, _react.useRef)(undefined);
63
+ const forceUpdate = (0, _react.useCallback)(() => {
64
+ clearTimeout(forceUpdateTimeout.current);
65
+ forceUpdateTimeout.current = setTimeout(forceRender, 500);
66
+ }, []);
67
+ (0, _react.useEffect)(() => () => clearTimeout(forceUpdateTimeout.current), []);
73
68
 
74
69
  // we use a ref to store the active call object
75
70
  // so that it can be used in the onViewableItemsChanged callback
@@ -79,33 +74,29 @@ const CallParticipantsList = ({
79
74
  // This is the function that gets called when the user scrolls the list of participants.
80
75
  // It updates viewableParticipantSessionIds HashSet with the session IDs
81
76
  // of the participants that are currently visible.
82
- const onViewableItemsChanged = (0, _react.useRef)(({
77
+ const onViewableItemsChanged = (0, _react.useCallback)(({
83
78
  viewableItems
84
79
  }) => {
85
80
  const participantPatches = {};
86
81
  let mustUpdate = false;
87
82
  const newVisibleParticipantSessionIds = new Set(viewableItems.map(v => v.key));
88
83
  const oldVisibleParticipantSessionIds = viewableParticipantSessionIds.current;
84
+ const visibilityPatch = videoTrack => ({
85
+ viewportVisibilityState: {
86
+ videoTrack,
87
+ screenShareTrack: _videoClient.VisibilityState.UNKNOWN
88
+ }
89
+ });
89
90
  newVisibleParticipantSessionIds.forEach(key => {
90
91
  if (!oldVisibleParticipantSessionIds.has(key)) {
91
92
  mustUpdate = true;
92
- participantPatches[key] = {
93
- viewportVisibilityState: {
94
- videoTrack: _videoClient.VisibilityState.VISIBLE,
95
- screenShareTrack: _videoClient.VisibilityState.UNKNOWN
96
- }
97
- };
93
+ participantPatches[key] = visibilityPatch(_videoClient.VisibilityState.VISIBLE);
98
94
  }
99
95
  });
100
96
  oldVisibleParticipantSessionIds.forEach(key => {
101
97
  if (!newVisibleParticipantSessionIds.has(key)) {
102
98
  mustUpdate = true;
103
- participantPatches[key] = {
104
- viewportVisibilityState: {
105
- videoTrack: _videoClient.VisibilityState.VISIBLE,
106
- screenShareTrack: _videoClient.VisibilityState.UNKNOWN
107
- }
108
- };
99
+ participantPatches[key] = visibilityPatch(_videoClient.VisibilityState.INVISIBLE);
109
100
  }
110
101
  });
111
102
  viewableParticipantSessionIds.current = newVisibleParticipantSessionIds;
@@ -113,11 +104,11 @@ const CallParticipantsList = ({
113
104
  activeCallRef.current?.state.updateParticipants(participantPatches);
114
105
  forceUpdate();
115
106
  }
116
- }).current;
107
+ }, [forceUpdate]);
117
108
 
118
109
  // NOTE: key must be sessionId always as it is used to track viewable participants
119
- const keyExtractor = (0, _react.useRef)(item => item.sessionId).current;
120
- const onLayout = (0, _react.useRef)(event => {
110
+ const keyExtractor = (0, _react.useCallback)(item => item.sessionId, []);
111
+ const onLayout = (0, _react.useCallback)(event => {
121
112
  const {
122
113
  height,
123
114
  width
@@ -131,7 +122,7 @@ const CallParticipantsList = ({
131
122
  width
132
123
  };
133
124
  });
134
- }).current;
125
+ }, []);
135
126
  const {
136
127
  itemHeight,
137
128
  itemWidth
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_videoClient","_rxjs","_videoReactBindings","_TestIds","_ParticipantView","_contexts","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","VIEWABILITY_CONFIG","waitForInteraction","itemVisiblePercentThreshold","CallParticipantsList","numberOfColumns","horizontal","participants","ParticipantView","DefaultParticipantView","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","VideoRenderer","supportedReactions","landscape","mirror","styles","useStyles","containerLayout","setContainerLayout","useState","width","height","viewableParticipantSessionIds","useRef","current","Set","forceUpdate$Ref","Subject","forceUpdate$","forceUpdateValue","setForceUpdateValue","useEffect","sub","pipe","debounceTime","subscribe","v","unsubscribe","forceUpdate","useCallback","next","activeCall","useCall","activeCallRef","onViewableItemsChanged","viewableItems","participantPatches","mustUpdate","newVisibleParticipantSessionIds","map","key","oldVisibleParticipantSessionIds","forEach","viewportVisibilityState","videoTrack","VisibilityState","VISIBLE","screenShareTrack","UNKNOWN","state","updateParticipants","keyExtractor","item","sessionId","onLayout","event","nativeEvent","layout","prev","itemHeight","itemWidth","calculateParticipantViewSize","containerHeight","containerWidth","participantsLength","length","margin","participant","itemContainerStyle","useMemo","style","participantWrapperHorizontal","landScapeStyle","participantProps","renderItem","isVisible","jsx","Fragment","children","trackType","shouldWrapByColumns","index","flexed","FlatList","data","viewabilityConfig","numColumns","undefined","showsHorizontalScrollIndicator","extraData","testID","ComponentTestIds","CALL_PARTICIPANTS_LIST","exports","theme","useTheme","StyleSheet","create","flex","marginHorizontal","variants","spacingSizes","sm","borderRadius","borderRadiusSizes","xs"],"sourceRoot":"../../../../../src","sources":["components/Call/CallParticipantsList/CallParticipantsList.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_videoClient","_videoReactBindings","_TestIds","_ParticipantView","_contexts","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","VIEWABILITY_CONFIG","waitForInteraction","itemVisiblePercentThreshold","CallParticipantsList","numberOfColumns","horizontal","participants","ParticipantView","DefaultParticipantView","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","VideoRenderer","supportedReactions","landscape","mirror","styles","useStyles","containerLayout","setContainerLayout","useState","width","height","viewableParticipantSessionIds","useRef","current","Set","forceUpdateValue","forceRender","useReducer","v","forceUpdateTimeout","undefined","forceUpdate","useCallback","clearTimeout","setTimeout","useEffect","activeCall","useCall","activeCallRef","onViewableItemsChanged","viewableItems","participantPatches","mustUpdate","newVisibleParticipantSessionIds","map","key","oldVisibleParticipantSessionIds","visibilityPatch","videoTrack","viewportVisibilityState","screenShareTrack","VisibilityState","UNKNOWN","forEach","VISIBLE","INVISIBLE","state","updateParticipants","keyExtractor","item","sessionId","onLayout","event","nativeEvent","layout","prev","itemHeight","itemWidth","calculateParticipantViewSize","containerHeight","containerWidth","participantsLength","length","margin","participant","itemContainerStyle","useMemo","style","participantWrapperHorizontal","landScapeStyle","participantProps","renderItem","isVisible","jsx","Fragment","children","trackType","shouldWrapByColumns","index","flexed","FlatList","data","viewabilityConfig","numColumns","showsHorizontalScrollIndicator","extraData","testID","ComponentTestIds","CALL_PARTICIPANTS_LIST","exports","theme","useTheme","StyleSheet","create","flex","marginHorizontal","variants","spacingSizes","sm","borderRadius","borderRadiusSizes","xs"],"sourceRoot":"../../../../../src","sources":["components/Call/CallParticipantsList/CallParticipantsList.tsx"],"mappings":"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","ignoreList":[]}
@@ -93,14 +93,17 @@ const Background = ({
93
93
  user
94
94
  }) => user.image).filter(image => !!image);
95
95
  if (avatarsToShow.length) {
96
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ImageBackground, {
97
- source: {
98
- uri: avatarsToShow[0]
99
- },
96
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
100
97
  style: [styles.background, {
101
98
  backgroundColor: colors.sheetTertiary
102
99
  }, incomingCall.background],
103
- children: children
100
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
101
+ source: {
102
+ uri: avatarsToShow[0]
103
+ },
104
+ resizeMode: "cover",
105
+ style: _reactNative.StyleSheet.absoluteFill
106
+ }), children]
104
107
  });
105
108
  }
106
109
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoReactBindings","_UserInfo","_CallControls","_contexts","_jsxRuntime","e","__esModule","default","IncomingCall","onAcceptCallHandler","onRejectCallHandler","IncomingCallControls","DefaultIncomingCallControls","landscape","t","useI18n","theme","colors","incomingCall","typefaces","variants","useTheme","landscapeContentStyles","flexDirection","insetStyles","paddingTop","insets","top","paddingBottom","bottom","paddingLeft","left","paddingRight","right","jsx","Background","children","jsxs","View","style","styles","content","topContainer","UserInfo","Text","incomingCallText","color","textPrimary","heading6","bottomContainer","incomingCallControls","exports","connectedUser","useConnectedUser","useCallMembers","useCallStateHooks","members","avatarsToShow","filter","user","id","map","image","length","ImageBackground","source","uri","background","backgroundColor","sheetTertiary","StyleSheet","create","flex","justifyContent","marginTop","textAlign"],"sourceRoot":"../../../../../src","sources":["components/Call/RingingCallContent/IncomingCall.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoReactBindings","_UserInfo","_CallControls","_contexts","_jsxRuntime","e","__esModule","default","IncomingCall","onAcceptCallHandler","onRejectCallHandler","IncomingCallControls","DefaultIncomingCallControls","landscape","t","useI18n","theme","colors","incomingCall","typefaces","variants","useTheme","landscapeContentStyles","flexDirection","insetStyles","paddingTop","insets","top","paddingBottom","bottom","paddingLeft","left","paddingRight","right","jsx","Background","children","jsxs","View","style","styles","content","topContainer","UserInfo","Text","incomingCallText","color","textPrimary","heading6","bottomContainer","incomingCallControls","exports","connectedUser","useConnectedUser","useCallMembers","useCallStateHooks","members","avatarsToShow","filter","user","id","map","image","length","background","backgroundColor","sheetTertiary","Image","source","uri","resizeMode","StyleSheet","absoluteFill","create","flex","justifyContent","marginTop","textAlign"],"sourceRoot":"../../../../../src","sources":["components/Call/RingingCallContent/IncomingCall.tsx"],"mappings":"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","ignoreList":[]}