Skip to content

Commit d3b7d3c

Browse files
committed
fix: no need of json parsing let rn bridge do it
1 parent cbcc80b commit d3b7d3c

File tree

2 files changed

+6
-38
lines changed

2 files changed

+6
-38
lines changed

packages/react-native-sdk/android/src/main/java/com/streamvideo/reactnative/audio/AudioDeviceManager.kt

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import com.facebook.react.bridge.Arguments
2727
import com.facebook.react.bridge.ReactApplicationContext
2828
import com.facebook.react.bridge.WritableMap
2929
import com.facebook.react.modules.core.DeviceEventManagerModule
30-
import com.oney.WebRTCModule.WebRTCModule
3130
import com.streamvideo.reactnative.audio.utils.AudioDeviceEndpointUtils
3231
import com.streamvideo.reactnative.audio.utils.AudioFocusUtil
3332
import com.streamvideo.reactnative.audio.utils.AudioManagerUtil
@@ -524,18 +523,8 @@ class AudioDeviceManager(
524523

525524
fun audioStatusMap(): WritableMap {
526525
val data = Arguments.createMap()
527-
var audioDevicesJson = "["
528-
for (s in getCurrentDeviceEndpoints()) {
529-
audioDevicesJson += "\"" + s.name + "\","
530-
}
531-
532-
// --- strip the last `,`
533-
if (audioDevicesJson.length > 1) {
534-
audioDevicesJson = audioDevicesJson.substring(0, audioDevicesJson.length - 1)
535-
}
536-
audioDevicesJson += "]"
537-
538-
data.putString("availableAudioDeviceEndpointNamesList", audioDevicesJson)
526+
val availableAudioDeviceEndpointNamesList = Arguments.fromList(getCurrentDeviceEndpoints().map { it.name })
527+
data.putArray("availableAudioDeviceEndpointNamesList", availableAudioDeviceEndpointNamesList)
539528
data.putString(
540529
"selectedAudioDeviceEndpointType",
541530
endpointTypeDebug(this.selectedAudioDeviceEndpoint?.type)

packages/react-native-sdk/src/StreamInCallManager/index.ts

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,6 @@ export type AudioDeviceStatus = {
1111
selectedAudioDeviceName: string;
1212
};
1313

14-
type AudioDeviceStatusUnparsed = {
15-
availableAudioDeviceEndpointNamesList: string;
16-
selectedAudioDeviceEndpointType: string;
17-
selectedAudioDeviceName: string;
18-
};
19-
2014
export type AudioRole = 'communicator' | 'listener';
2115
export type DefaultAudioDeviceEndpointType = 'speaker' | 'earpiece';
2216

@@ -113,8 +107,8 @@ function addAndroidAudioDeviceStatusChangeListener(
113107
);
114108
const subscription = InCallManagerEventEmitter.addListener(
115109
'onAudioDeviceChanged',
116-
(audioDeviceStatus: AudioDeviceStatusUnparsed) => {
117-
onChange(parseAudioDeviceStatus(audioDeviceStatus));
110+
(audioDeviceStatus: AudioDeviceStatus) => {
111+
onChange(audioDeviceStatus);
118112
},
119113
);
120114

@@ -137,20 +131,6 @@ function chooseAndroidAudioDeviceEndpoint(endpointName: string) {
137131
StreamInCallManagerNativeModule.chooseAudioDeviceEndpoint(endpointName);
138132
}
139133

140-
function parseAudioDeviceStatus(
141-
audioDeviceStatusUnparsed: AudioDeviceStatusUnparsed,
142-
) {
143-
const audioDeviceStatus: AudioDeviceStatus = {
144-
availableAudioDeviceEndpointNamesList: JSON.parse(
145-
audioDeviceStatusUnparsed.availableAudioDeviceEndpointNamesList,
146-
),
147-
selectedAudioDeviceEndpointType:
148-
audioDeviceStatusUnparsed.selectedAudioDeviceEndpointType,
149-
selectedAudioDeviceName: audioDeviceStatusUnparsed.selectedAudioDeviceName,
150-
};
151-
return audioDeviceStatus;
152-
}
153-
154134
/**
155135
* Get the current audio device status.
156136
* @returns The audio device status.
@@ -160,9 +140,8 @@ async function getAndroidAudioDeviceStatus() {
160140
logger('warn', 'getAndroidAudioDeviceStatus is supported only on Android');
161141
return;
162142
}
163-
const audioDeviceStatus: AudioDeviceStatus = parseAudioDeviceStatus(
164-
await StreamInCallManagerNativeModule.getAudioDeviceStatus(),
165-
);
143+
const audioDeviceStatus: AudioDeviceStatus =
144+
await StreamInCallManagerNativeModule.getAudioDeviceStatus();
166145
return audioDeviceStatus;
167146
}
168147

0 commit comments

Comments
 (0)