// Metro module 16135 (f16136). import { NativeModules } from "react-native"; import EmbeddedActivitiesStore from "../../activities/EmbeddedActivitiesStore"; import StageChannelRoleStore from "../../stage_channels/StageChannelRoleStore"; import ApplicationStreamingStore from "../../../stores/ApplicationStreamingStore"; import AuthenticationStore from "../../../stores/AuthenticationStore"; import ChannelStore from "../../../stores/ChannelStore"; import MediaEngineStore from "../../../stores/MediaEngineStore"; import SelectedChannelStore from "../../../stores/SelectedChannelStore"; import VoiceStateStore from "../../../stores/VoiceStateStore"; import AppStateStore from "../../../stores/native/AppStateStore"; import { AppStates } from "../../../Constants"; import { isAndroid } from "../../../utils/PlatformUtils"; import * as _VoicePermissionManager from "../VoicePermissionManager"; import AutomaticLifecycleManager from "../../../lib/AutomaticLifecycleManager"; let c11556_12, VOICE; const handleAVAudioSessionMode = function handleAVAudioSessionMode() { let DEFAULT; L14: { const channel = ChannelStore.getChannel(SelectedChannelStore.getVoiceChannelId()); if (channel == null) { DEFAULT = c11556_12.AVAudioSessionMode.DEFAULT; } else { const r15 = ApplicationStreamingStore.getAllActiveStreams().length > 0 || VoiceStateStore.hasVideo(channel.id) || MediaEngineStore.isVideoEnabled(); const r23 = EmbeddedActivitiesStore.getCurrentEmbeddedActivity() != null; if (!r15 && !r23) { const shouldImmediatelyRequestVoicePermissions = _VoicePermissionManager.shouldImmediatelyRequestVoicePermissions(AuthenticationStore.getId(), channel.id); const AVAudioSessionMode = c11556_12.AVAudioSessionMode; if (shouldImmediatelyRequestVoicePermissions) { DEFAULT = AVAudioSessionMode.VOICE; break L14; } DEFAULT = AVAudioSessionMode.LISTEN; break L14; } DEFAULT = c11556_12.AVAudioSessionMode.VIDEO; } } if (VOICE !== DEFAULT && AppStateStore.getState() === AppStates.ACTIVE) { VOICE = DEFAULT; c11556_12.setAVAudioSessionMode(DEFAULT); } }; c11556_12 = isAndroid() ? { setAVAudioSessionMode: () => {}, AVAudioSessionMode: { VOICE: "AVAudioSessionModeVoiceChat", VIDEO: "AVAudioSessionModeVideoChat", LISTEN: "AVAudioSessionModeSpokenAudio", DEFAULT: "AVAudioSessionModeDefault" } } : NativeModules.VoiceEngine; VOICE = c11556_12.AVAudioSessionMode.VOICE; class AudioSessionModeManager extends AutomaticLifecycleManager { stores = new Map().set(ApplicationStreamingStore, handleAVAudioSessionMode).set(VoiceStateStore, handleAVAudioSessionMode).set(MediaEngineStore, handleAVAudioSessionMode).set(StageChannelRoleStore, handleAVAudioSessionMode).set(EmbeddedActivitiesStore, handleAVAudioSessionMode); } const audioSessionModeManager = new AudioSessionModeManager(); export default audioSessionModeManager;