// Module ID: 13219 // Function ID: 13220 // Name: LocalVoiceStateManager // Dependencies: [2051, 1999, 4887, 1086, 13217, 2027, 1391, 13220, 2] // Module 13219 (LocalVoiceStateManager) import FlagUtils from "FlagUtils" /* 1391 */; import UserSettings from "UserSettings" /* 2027 */; import isClipsEnabled from "isClipsEnabled" /* 13220 */; import ChannelStore from "ChannelStore" /* 2051 */; import MediaEngineStore from "MediaEngineStore" /* 1999 */; import RTCRegionStore from "RTCRegionStore" /* 4887 */; import Constants from "Constants" /* 1086 */; import StateManager from "StateManager" /* 13217 */; import size from "module_2" /* 2 */; let hasOwnProperty; let metroRequire; ({ ChannelTypes: hasOwnProperty, VoiceFlags: metroRequire } = Constants); class LocalVoiceStateManager extends StateManager { constructor(socket) { const tmp = new LocalVoiceStateManager(new.target); tmp.socket = socket; return tmp; } computeVoiceFlags() { const ClipsAllowVoiceRecording = UserSettings.ClipsAllowVoiceRecording; const setting = ClipsAllowVoiceRecording.getSetting(); const obj = FlagUtils; const setFlagResult = obj.setFlag(0, metroRequire.ALLOW_VOICE_RECORDING, setting); const setFlag = FlagUtils.setFlag; const CLIPS_ENABLED = metroRequire.CLIPS_ENABLED; FlagUtils; const obj2 = isClipsEnabled; return setFlag(setFlagResult, CLIPS_ENABLED, obj2.isClipsEnabled()); } getInitialState() { const obj = { guildId: null, channelId: null, selfMute: MediaEngineStore.isSelfMute(), selfDeaf: MediaEngineStore.isSelfDeaf(), selfVideo: MediaEngineStore.isVideoEnabled(), preferredRegion: null, preferredRegions: null, videoStreamParameters: null, flags: 0 }; return obj; } getNextState(guildId) { const obj = { guildId: guildId.guildId, channelId: guildId.channelId, selfMute: MediaEngineStore.isSelfMute(), selfDeaf: MediaEngineStore.isSelfDeaf(), selfVideo: MediaEngineStore.isVideoEnabled(), preferredRegion: RTCRegionStore.getPreferredRegion(), preferredRegions: RTCRegionStore.getPreferredRegions(), videoStreamParameters: MediaEngineStore.getVideoStreamParameters(), flags: this.computeVoiceFlags() }; return obj; } shouldCommit() { const socket = this.socket; return socket.isSessionEstablished(); } didCommit(state) { let channelId; let flags; let guildId; let preferredRegion; let preferredRegions; let selfDeaf; let selfMute; let selfVideo; ({ guildId, channelId, selfMute, selfDeaf, selfVideo, preferredRegion, preferredRegions, flags } = state); const videoStreamParameters = state.videoStreamParameters; if (flags === undefined) { flags = 0; } const self = this; if (selfVideo) { const channel = ChannelStore.getChannel(channelId); let type; if (channel != null) { type = channel.type; } if (type === hasOwnProperty.GUILD_STAGE_VOICE) { const socket2 = self.socket; const obj = { guildId, channelId, selfMute, selfDeaf, selfVideo, preferredRegion, preferredRegions, videoStreamParameters, flags }; socket2.voiceStateUpdate(obj); } } const socket = self.socket; socket.voiceStateUpdate({ guildId, channelId, selfMute, selfDeaf, selfVideo, preferredRegion, preferredRegions, flags }); } } const prototype = LocalVoiceStateManager.prototype; Object.defineProperty(prototype, "guildId", { get: function guildId() { return this.getState().guildId; }, set: undefined }); Object.defineProperty(prototype, "channelId", { get: function channelId() { return this.getState().channelId; }, set: undefined }); const result = size.fileFinishedImporting("modules/gateway/LocalVoiceStateManager.tsx"); export default LocalVoiceStateManager;