@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.
- package/CHANGELOG.md +48 -0
- package/android/src/main/java/com/streamvideo/reactnative/audio/AudioDeviceManager.kt +79 -54
- package/android/src/main/java/com/streamvideo/reactnative/audio/utils/AudioManagerUtil.kt +6 -2
- package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +3 -3
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js +2 -0
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
- package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js +22 -31
- package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
- package/dist/commonjs/components/Call/RingingCallContent/IncomingCall.js +8 -5
- package/dist/commonjs/components/Call/RingingCallContent/IncomingCall.js.map +1 -1
- package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js +2 -1
- package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
- package/dist/commonjs/hooks/index.js +11 -0
- package/dist/commonjs/hooks/index.js.map +1 -1
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +73 -0
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
- package/dist/commonjs/hooks/useAudioDeviceStatus.js +76 -0
- package/dist/commonjs/hooks/useAudioDeviceStatus.js.map +1 -0
- package/dist/commonjs/modules/call-manager/CallManager.js +94 -47
- package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
- package/dist/commonjs/utils/internal/callingx/callingx.js +0 -7
- package/dist/commonjs/utils/internal/callingx/callingx.js.map +1 -1
- package/dist/commonjs/utils/push/setupCallingExpEvents.js +31 -2
- package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js +3 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
- package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js +23 -32
- package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
- package/dist/module/components/Call/RingingCallContent/IncomingCall.js +9 -6
- package/dist/module/components/Call/RingingCallContent/IncomingCall.js.map +1 -1
- package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js +2 -1
- package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
- package/dist/module/hooks/index.js +1 -0
- package/dist/module/hooks/index.js.map +1 -1
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +73 -0
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
- package/dist/module/hooks/useAudioDeviceStatus.js +71 -0
- package/dist/module/hooks/useAudioDeviceStatus.js.map +1 -0
- package/dist/module/modules/call-manager/CallManager.js +94 -47
- package/dist/module/modules/call-manager/CallManager.js.map +1 -1
- package/dist/module/utils/internal/callingx/callingx.js +0 -7
- package/dist/module/utils/internal/callingx/callingx.js.map +1 -1
- package/dist/module/utils/push/setupCallingExpEvents.js +32 -3
- package/dist/module/utils/push/setupCallingExpEvents.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallParticipantsList/CallParticipantsList.d.ts.map +1 -1
- package/dist/typescript/components/Call/RingingCallContent/IncomingCall.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/index.d.ts.map +1 -1
- package/dist/typescript/hooks/index.d.ts +1 -0
- package/dist/typescript/hooks/index.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useAudioDeviceStatus.d.ts +21 -0
- package/dist/typescript/hooks/useAudioDeviceStatus.d.ts.map +1 -0
- package/dist/typescript/modules/call-manager/CallManager.d.ts +25 -11
- package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
- package/dist/typescript/modules/call-manager/types.d.ts +29 -3
- package/dist/typescript/modules/call-manager/types.d.ts.map +1 -1
- package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +1 -1
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/expo-config-plugin/dist/index.js +2 -0
- package/expo-config-plugin/dist/withAndroidMessagingService.js +287 -0
- package/ios/StreamInCallManager.m +7 -0
- package/ios/StreamInCallManager.swift +257 -14
- package/package.json +8 -8
- package/src/components/Call/CallLayout/CallParticipantsSpotlight.tsx +6 -1
- package/src/components/Call/CallParticipantsList/CallParticipantsList.tsx +63 -62
- package/src/components/Call/RingingCallContent/IncomingCall.tsx +10 -12
- package/src/components/Participant/ParticipantView/VideoRenderer/index.tsx +4 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +95 -0
- package/src/hooks/useAudioDeviceStatus.ts +90 -0
- package/src/modules/call-manager/CallManager.ts +122 -64
- package/src/modules/call-manager/native-module.d.ts +14 -7
- package/src/modules/call-manager/types.ts +30 -3
- package/src/utils/internal/callingx/callingx.ts +0 -8
- package/src/utils/push/setupCallingExpEvents.ts +41 -3
- package/src/version.ts +1 -1
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js +0 -68
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js.map +0 -1
- package/dist/module/utils/internal/callingx/audioSessionPromise.js +0 -63
- package/dist/module/utils/internal/callingx/audioSessionPromise.js.map +0 -1
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts +0 -16
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts.map +0 -1
- package/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.
|
|
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
|
|
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
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
|
231
|
-
|
|
240
|
+
fun switchDeviceById(
|
|
241
|
+
deviceId: String
|
|
232
242
|
) {
|
|
233
|
-
Log.d(TAG, "
|
|
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[
|
|
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
|
|
252
|
-
|
|
253
|
-
|
|
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
|
-
|
|
319
|
+
val endpoints = if (Build.VERSION.SDK_INT >= 31) {
|
|
320
|
+
(mEndpointMaps.bluetoothEndpoints.values + mEndpointMaps.nonBluetoothEndpoints.values).sorted()
|
|
313
321
|
} else {
|
|
314
|
-
val btEndpoint =
|
|
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
|
-
|
|
326
|
+
list.sorted()
|
|
319
327
|
} else {
|
|
320
|
-
|
|
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
|
-
|
|
329
|
-
|
|
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
|
-
|
|
347
|
-
|
|
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
|
-
|
|
409
|
-
val
|
|
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
|
-
|
|
436
|
+
cachedAvailableEndpointIdsSet != audioDeviceIdsSet
|
|
413
437
|
}
|
|
414
|
-
|
|
438
|
+
cachedAvailableEndpointIdsSet = audioDeviceIdsSet
|
|
415
439
|
Log.d(
|
|
416
440
|
TAG,
|
|
417
|
-
("updateAudioDeviceState() Device status: available=$audioDevices, selected=$selectedAudioDeviceEndpoint
|
|
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
|
|
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",
|
|
595
|
+
data.putArray("devices", devices)
|
|
573
596
|
data.putString("currentEndpointType", endpointTypeDebug(endpoint?.type))
|
|
574
|
-
|
|
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
|
-
|
|
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
|
|
171
|
+
return endpointMaps.bluetoothEndpoints.values.firstOrNull {
|
|
172
|
+
it.name == bluetoothManager.getDeviceName()
|
|
173
|
+
}
|
|
170
174
|
}
|
|
171
175
|
return null
|
|
172
176
|
}
|
package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt
CHANGED
|
@@ -190,7 +190,7 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
|
|
|
190
190
|
|
|
191
191
|
@Suppress("unused")
|
|
192
192
|
@ReactMethod
|
|
193
|
-
fun chooseAudioDeviceEndpoint(
|
|
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.
|
|
203
|
-
|
|
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","
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const forceUpdate
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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.
|
|
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
|
-
})
|
|
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.
|
|
120
|
-
const onLayout = (0, _react.
|
|
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
|
-
})
|
|
125
|
+
}, []);
|
|
135
126
|
const {
|
|
136
127
|
itemHeight,
|
|
137
128
|
itemWidth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_videoClient","
|
|
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.
|
|
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:
|
|
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","
|
|
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":[]}
|