87 lines
3.0 KiB
TypeScript
87 lines
3.0 KiB
TypeScript
// Metro module 8835 (f8836).
|
|
import { NativeEventEmitter } from "react-native";
|
|
import { RTCConnectionStates } from "../../../Constants";
|
|
import { MediaEngineContextTypes } from "../../../_bundle/Module4250";
|
|
import Module8836, { getInvalidAndroidDevice, AudioDeviceType } from "../../../_bundle/Module8836";
|
|
import Module12 from "../../../_bundle/Module12";
|
|
import SentryUtils_native from "../../../utils/SentryUtils.native";
|
|
import Module589 from "../../../_bundle/Module589";
|
|
import Dispatcher from "../../../Dispatcher";
|
|
let c5760_5 = new NativeEventEmitter(Module8836);
|
|
const devices = [];
|
|
let invalidAndroidDevice = getInvalidAndroidDevice();
|
|
let invalidAndroidDevice2 = getInvalidAndroidDevice();
|
|
let c5760_9 = false;
|
|
class AudioManagerStore extends Module589.Store {
|
|
static displayName = "AudioManagerStore";
|
|
initialize() {
|
|
Module8836.getAudioDevices().then((result) => {
|
|
devices = result;
|
|
this.emitChange();
|
|
c5760_5.addListener("android-audio-devices-updated", (a0) => {
|
|
devices = a0.devices;
|
|
this.emitChange();
|
|
});
|
|
});
|
|
Module8836.getActiveAudioDevice().then((result) => {
|
|
invalidAndroidDevice = result;
|
|
this.emitChange();
|
|
c5760_5.addListener("android-active-audio-device-changed", (a0) => {
|
|
invalidAndroidDevice = a0.device;
|
|
this.emitChange();
|
|
});
|
|
});
|
|
Module8836.setSCORetryCount(4);
|
|
}
|
|
getAudioDevices() {
|
|
return devices;
|
|
}
|
|
getActiveAudioDevice() {
|
|
return invalidAndroidDevice;
|
|
}
|
|
getRequestedActiveAudioDevice() {
|
|
return invalidAndroidDevice2;
|
|
}
|
|
}
|
|
const audioManagerStore = new AudioManagerStore(Dispatcher, {
|
|
RTC_CONNECTION_STATE: function handleRTCConnectionStateUpdate(a0) {
|
|
if (a0.context !== MediaEngineContextTypes.DEFAULT) {
|
|
return false;
|
|
}
|
|
const state = a0.state;
|
|
if (RTCConnectionStates.CONNECTING === state) {
|
|
c5760_9 = true;
|
|
Module8836.setCommunicationModeOn(true);
|
|
if (invalidAndroidDevice !== invalidAndroidDevice2 && invalidAndroidDevice2.simpleDeviceType !== AudioDeviceType.INVALID) {
|
|
if (Module12.isString(invalidAndroidDevice2)) {
|
|
SentryUtils_native.captureMessage("AudioManagerStore received a string for an android audio device", {
|
|
extra: {
|
|
deviceString: invalidAndroidDevice2
|
|
}
|
|
});
|
|
} else {
|
|
Module8836.setActiveAudioDevice(invalidAndroidDevice2);
|
|
}
|
|
}
|
|
} else if (RTCConnectionStates.DISCONNECTED === state && !a0.willReconnect) {
|
|
c5760_9 = false;
|
|
Module8836.setCommunicationModeOn(false);
|
|
}
|
|
},
|
|
NATIVE_AUDIO_SET_OUTPUT_DEVICE: function handleSetActiveAudioDevice({ device }) {
|
|
invalidAndroidDevice2 = device;
|
|
if (c5760_9) {
|
|
if (Module12.isString(device)) {
|
|
SentryUtils_native.captureMessage("AudioManagerStore received a string for an android audio device", {
|
|
extra: {
|
|
deviceString: device
|
|
}
|
|
});
|
|
} else {
|
|
Module8836.setActiveAudioDevice(device);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
export default audioManagerStore;
|