// 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;