/* Metro module 12531; source: modules/gateway/LocalVoiceStateManager.tsx; dependencies: [6, 7, 15, 17, 18, 4266, 4492, 1379, 4259, 4402, 661, 3829, 1391, 12382, 12530, 2] */ function _fun95477(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#95477, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12721:6, offset: 0x0214736f, size: 328 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_2 = importDefault(6) /* metro dependency 6 */; const env0_3 = importDefault(7) /* metro dependency 7 */; const env0_4 = importDefault(15) /* metro dependency 15 */; const env0_5 = importDefault(17) /* metro dependency 17 */; const env0_6 = importDefault(18) /* metro dependency 18 */; const runningGameStoreNative = importDefault(4266) /* metro dependency 4266: RunningGameStoreNative */; const applicationStreamingStore = importDefault(4492) /* metro dependency 4492: ApplicationStreamingStore */; const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */; const mediaEngineStore = importDefault(4259) /* metro dependency 4259: MediaEngineStore */; const rtcRegionStore = importDefault(4402) /* metro dependency 4402: RTCRegionStore */; let value = require(661) /* metro dependency 661: Constants */; const env0_12 = value.ApplicationStreamStates; const env0_13 = value.ChannelTypes; const env0_14 = value.VoiceFlags; value = importDefault(12530) /* metro dependency 12530: StateManager */; value = _fun95481(value); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/gateway/LocalVoiceStateManager.tsx'); exports.default = value; } function _isNativeReflectConstruct_95478() { // fn#95478, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12721:269, offset: 0x021474b7, size: 98 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_95478_isNativeReflectConstruct = function() { return !!result; })(); } function _fun95481(a0) { // fn#95481, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12721:468, offset: 0x02147519, size: 228 bytes, params: 2, frame: 16 const closure = LocalVoiceStateManager; env0_6(closure, a0); return env0_3(closure, [{key: 'guildId', get: function() { return this.getState().guildId; }}, {key: 'channelId', get: function() { return this.getState().channelId; }}, {key: 'computeVoiceFlags', value: value_95485}, {key: 'getInitialState', value: function() { var object = {'guildId': null, 'channelId': null, 'selfMute': null, 'selfDeaf': null, 'selfVideo': null, 'preferredRegion': null, 'preferredRegions': null, 'videoStreamParameters': null, 'flags': 0}; object.selfMute = MediaEngineStore.isSelfMute(); object.selfDeaf = MediaEngineStore.isSelfDeaf(); object.selfVideo = MediaEngineStore.isVideoEnabled(); return object; }}, {key: 'getNextState', value: value_95487}, {key: 'shouldCommit', value: function() { return this.socket.isSessionEstablished(); }}, {key: 'didCommit', value: value_95489}]); } function LocalVoiceStateManager(a0) { // fn#95482, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12721:480, offset: 0x021475fd, size: 117 bytes, params: 2, frame: 19 let value = environment.__proto__; env1_2(this, LocalVoiceStateManager); const value3 = env1_5(LocalVoiceStateManager); value = env1_4(this, _isNativeReflectConstruct_95478() ? global.Reflect.construct(value3, [], env1_5(this).constructor) : value3.apply(this, undefined)); value.socket = a0; return value; } function value_95485() { // fn#95485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12721:957, offset: 0x0214769a, size: 308 bytes, params: 1, frame: 20 var r1; var r3; var r5; var currentUserActiveStream; var value6; var currentUserActiveStream2; var visibleGame; const value2 = undefined; const ClipsAllowVoiceRecording = (require(3829) /* metro dependency 3829: UserSettings */).ClipsAllowVoiceRecording; const setting = ClipsAllowVoiceRecording.getSetting(); const flagUtilsModule = require(1391) /* metro dependency 1391: FlagUtils */; let setFlag = flagUtilsModule.setFlag; const ALLOW_VOICE_RECORDING = VoiceFlags.ALLOW_VOICE_RECORDING; const value4 = Reflect.apply(setFlag, flagUtilsModule, [0, ALLOW_VOICE_RECORDING, setting]); const isClipsEnabled2 = (require(12382) /* metro dependency 12382: isClipsEnabled */).isClipsEnabled(); if (isClipsEnabled2) { currentUserActiveStream = ApplicationStreamingStore.getCurrentUserActiveStream(); value6 = (currentUserActiveStream == null ? value2 : currentUserActiveStream.state) === ApplicationStreamStates.ACTIVE; if (value6) { r1 = value6; } else { currentUserActiveStream2 = ApplicationStreamingStore.getCurrentUserActiveStream(); r1 = (currentUserActiveStream2 == null ? value2 : currentUserActiveStream2.state) === ApplicationStreamStates.PAUSED; } r3 = r1; } else { r3 = isClipsEnabled2; } const isDecoupledClipsEnabled2 = (require(12382) /* metro dependency 12382: isClipsEnabled */).isDecoupledClipsEnabled(); if (isDecoupledClipsEnabled2) { visibleGame = RunningGameStoreNative.getVisibleGame(); r5 = (visibleGame == null ? value2 : visibleGame.windowHandle) != null; } else { r5 = isDecoupledClipsEnabled2; } const moduleValue4 = flagUtilsModule; setFlag = moduleValue4.setFlag; const CLIPS_ENABLED = VoiceFlags.CLIPS_ENABLED; r3 = !r3 ? r5 : r3; return Reflect.apply(setFlag, moduleValue4, [value4, CLIPS_ENABLED, r3]); } function value_95487({guildId, channelId}) { // fn#95487, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12721:1661, offset: 0x02147815, size: 145 bytes, params: 2, frame: 12 const object2 = {guildId: guildId, channelId: channelId}; object2.selfMute = MediaEngineStore.isSelfMute(); object2.selfDeaf = MediaEngineStore.isSelfDeaf(); object2.selfVideo = MediaEngineStore.isVideoEnabled(); object2.preferredRegion = RTCRegionStore.getPreferredRegion(); object2.preferredRegions = RTCRegionStore.getPreferredRegions(); object2.videoStreamParameters = MediaEngineStore.getVideoStreamParameters(); object2.flags = this.computeVoiceFlags(); return object2; } function value_95489({guildId, channelId, selfMute, selfDeaf, selfVideo, preferredRegion, preferredRegions, videoStreamParameters, flags}) { // fn#95489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12721:2070, offset: 0x021478a6, size: 236 bytes, params: 2, frame: 23 var value3; var socket; flags = flags === undefined ? 0 : flags; if (selfVideo) { value3 = environment.__proto__; if (ChannelStore.getChannel(channelId)?.type === ChannelTypes.GUILD_STAGE_VOICE) { socket = this.socket; socket.voiceStateUpdate({guildId: guildId, channelId: channelId, selfMute: selfMute, selfDeaf: selfDeaf, selfVideo: selfVideo, preferredRegion: preferredRegion, preferredRegions: preferredRegions, videoStreamParameters: videoStreamParameters, flags: flags}); } else { socket = this.socket; socket.voiceStateUpdate({guildId: guildId, channelId: channelId, selfMute: selfMute, selfDeaf: selfDeaf, selfVideo: selfVideo, preferredRegion: preferredRegion, preferredRegions: preferredRegions, flags: flags}); } } else { socket = this.socket; socket.voiceStateUpdate({guildId: guildId, channelId: channelId, selfMute: selfMute, selfDeaf: selfDeaf, selfVideo: selfVideo, preferredRegion: preferredRegion, preferredRegions: preferredRegions, flags: flags}); } }