/* Metro module 15276; source: modules/soundplayer/SoundPlayer.tsx; dependencies: [31, 1378, 8065, 4295, 1383, 4492, 1226, 1379, 1867, 4259, 10907, 4294, 1934, 4607, 4297, 4300, 661, 33, 566, 10756, 4802, 4285, 3774, 1360, 2] */ import AuthenticationStore from '../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */ import EmbeddedActivitiesStore from '../activities/EmbeddedActivitiesStore.tsx'; /* Metro dependency 1378 */ import ChannelStore from '../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import SelectedChannelStore from '../../stores/SelectedChannelStore.tsx'; /* Metro dependency 1934 */ import MediaEngineStore from '../../stores/MediaEngineStore.tsx'; /* Metro dependency 4259 */ import RTCConnectionStore from '../../stores/RTCConnectionStore.tsx'; /* Metro dependency 4294 */ import GameConsoleStore from '../game_console/GameConsoleStore.tsx'; /* Metro dependency 4295 */ import VoiceStateStore from '../../stores/VoiceStateStore.tsx'; /* Metro dependency 4297 */ import SortedVoiceStateStore from '../../stores/views/SortedVoiceStateStore.tsx'; /* Metro dependency 4300 */ import ApplicationStreamingStore from '../../stores/ApplicationStreamingStore.tsx'; /* Metro dependency 4492 */ import SpeakingStore from '../../stores/SpeakingStore.tsx'; /* Metro dependency 4607 */ import FramesStore from '../frames/FramesStore.tsx'; /* Metro dependency 8065 */ import NotificationSettingsStore from '../../stores/NotificationSettingsStore.tsx'; /* Metro dependency 10907 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as FluxModule from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ import * as GlobalUtilsModule from '../../utils/GlobalUtils.tsx'; /* Metro dependency 1360 */ import * as EmbeddedActivitiesStoreModule from '../activities/EmbeddedActivitiesStore.tsx'; /* Metro dependency 1378 */ import * as ChannelRecordModule from '../../records/ChannelRecord.tsx'; /* Metro dependency 1383 */ import * as EmbeddedActivityLocationUtilsModule from '../activities/utils/embeddedActivityLocationUtils.tsx'; /* Metro dependency 3774 */ function _fun116798(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#116798, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:6, offset: 0x02496d14, size: 585 bytes, params: 8, frame: 19 let env0_0 = require; const useSound = function(a0, a1, a2, a3) { var env0_0 = a0; var env0_1 = a1; a2.useEffect(_fun116800); }; const MuteDeafen = function() { useSound([MediaEngineStore, SelectedChannelStore], _fun116804, _fun116805); return null; }; const Camera_116806 = function() { useSound([MediaEngineStore, SelectedChannelStore], _fun116807, _fun116808); return null; }; const RTCConnect = function() { useSound([ChannelStore, RTCConnectionStore, SelectedChannelStore, GameConsoleStore], _fun116810, _fun116811); return null; }; const Speaking = function() { useSound([SpeakingStore], _fun116813, _fun116814); return null; }; const SelfMutedTemporarily = function() { useSound([MediaEngineStore], _fun116816, _fun116817); return null; }; const PriorityVAD = function() { useSound([SpeakingStore], _fun116819, _fun116820); return null; }; const UserHasBeenMoved = function() { useSound([VoiceStateStore], _fun116822, _fun116823); return null; }; const UserInvitedToSpeak = function() { useSound([SelectedChannelStore, VoiceStateStore], _fun116825, _fun116826); return null; }; const VoiceChannel = function() { useSound([SelectedChannelStore, ApplicationStreamingStore, AuthenticationStore, VoiceStateStore, ChannelStore], _fun116828, _fun116831); return null; }; const ActivitySounds = function() { useSound([SelectedChannelStore, EmbeddedActivitiesStore, FramesStore, AuthenticationStore], _fun116836, _fun116837); return null; }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ConstantsModule; const env0_19 = value.InputModes; const env0_20 = value.ApplicationStreamStates; const env0_21 = value.RTCConnectionStates; value = require(33) /* metro dependency 33 */; const env0_22 = value.jsx; const env0_23 = value.Fragment; const env0_24 = value.jsxs; (FileImportTrackerModule).fileFinishedImporting('modules/soundplayer/SoundPlayer.tsx'); exports.default = SoundPlayer; function useSound(a0, a1, a2, a3) { // fn#116799, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:437, offset: 0x02496f5d, size: 51 bytes, params: 5, frame: 11 const env0_0 = a0; const env0_1 = a1; a2.useEffect(_fun116800); function _fun116800() { // fn#116800, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:477, offset: 0x02496f90, size: 109 bytes, params: 1, frame: 15 const moduleValue = require(); const BatchedStoreListener = (FluxModule).BatchedStoreListener; new BatchedStoreListener(moduleValue, _fun116801).attach('useSound'); return _fun116802; function _fun116801() { // fn#116801, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:532, offset: 0x02496ffd, size: 126 bytes, params: 1, frame: 18 var value5; var moduleValue2; const defaultImport = importDefault(env0_0, require()); if (!(defaultImport == null || NotificationSettingsStore.isSoundDisabled(defaultImport))) { value5 = environment.__proto__.__proto__; moduleValue2 = require(10756) /* metro dependency 10756: SoundUtils */; moduleValue2.playSound(defaultImport, env1_3 ?? 0.4); } } function _fun116802() { // fn#116802, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:657, offset: 0x0249707b, size: 19 bytes, params: 1, frame: 9 return env0_1.detach(); } } } function MuteDeafen() { // fn#116803, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:675, offset: 0x0249708e, size: 56 bytes, params: 1, frame: 15 useSound([MediaEngineStore, SelectedChannelStore], function() { var object = {}; object.inVoiceChannel = SelectedChannelStore.getVoiceChannelId() != null; object.selfMute = MediaEngineStore.isSelfMute(); object.selfDeaf = MediaEngineStore.isSelfDeaf(); object.audioPermissionReady = MediaEngineStore.isNativeAudioPermissionReady(); object.shouldSkipMuteUnmuteSound = MediaEngineStore.shouldSkipMuteUnmuteSound(); return object; }, _fun116805); return null; function _fun116804() { // fn#116804, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:720, offset: 0x024970c6, size: 110 bytes, params: 1, frame: 11 const object = {}; object.inVoiceChannel = SelectedChannelStore.getVoiceChannelId() != null; object.selfMute = MediaEngineStore.isSelfMute(); object.selfDeaf = MediaEngineStore.isSelfDeaf(); object.audioPermissionReady = MediaEngineStore.isNativeAudioPermissionReady(); object.shouldSkipMuteUnmuteSound = MediaEngineStore.shouldSkipMuteUnmuteSound(); return object; } function _fun116805(a0, {inVoiceChannel, selfMute, selfDeaf, audioPermissionReady, shouldSkipMuteUnmuteSound}) { // fn#116805, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:931, offset: 0x02497134, size: 135 bytes, params: 3, frame: 14 var r2; var r0; var selfMute2; var value; var value2; if (inVoiceChannel) { if (a0.selfDeaf !== selfDeaf) { return selfDeaf ? 'deafen' : 'undeafen'; } if (audioPermissionReady) { if (inVoiceChannel) { selfMute2 = a0.selfMute; value = undefined; if (selfMute2 === selfMute) { r0 = value; } else { if (shouldSkipMuteUnmuteSound) { value2 = environment.__proto__; MediaEngineStore.notifyMuteUnmuteSoundWasSkipped(); r2 = value; } else { r2 = selfMute ? 'mute' : 'unmute'; } r0 = r2; } return r0; } if (a0.audioPermissionReady) { selfMute2 = a0.selfMute; value = undefined; if (selfMute2 === selfMute) { r0 = value; } else { if (shouldSkipMuteUnmuteSound) { value2 = environment.__proto__; MediaEngineStore.notifyMuteUnmuteSoundWasSkipped(); r2 = value; } else { r2 = selfMute ? 'mute' : 'unmute'; } r0 = r2; } return r0; } return undefined; } } } } function Camera_116806() { // fn#116806, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:1215, offset: 0x024971bb, size: 56 bytes, params: 1, frame: 15 useSound([MediaEngineStore, SelectedChannelStore], _fun116807, function(a0, a1) { var videoEnabled = a1.videoEnabled; if (a0.videoEnabled !== videoEnabled) { if (a0.inVoiceChannel) { if (a1.inVoiceChannel) { return videoEnabled ? 'camera_on' : 'camera_off'; } return undefined; } } }); return null; function _fun116807() { // fn#116807, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:1256, offset: 0x024971f3, size: 51 bytes, params: 1, frame: 11 const object = {}; const value = environment.__proto__; object.videoEnabled = MediaEngineStore.isVideoEnabled(); object.inVoiceChannel = SelectedChannelStore.getVoiceChannelId() != null; return object; } } function RTCConnect() { // fn#116809, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:1478, offset: 0x0249725f, size: 72 bytes, params: 1, frame: 15 useSound([ChannelStore, RTCConnectionStore, SelectedChannelStore, GameConsoleStore], _fun116810, _fun116811); return null; function _fun116810() { // fn#116810, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:1527, offset: 0x024972a7, size: 214 bytes, params: 1, frame: 15 const channelStoreBinding = ChannelStore; const getChannel = channelStoreBinding.getChannel; const selectedChannelStoreBinding = SelectedChannelStore; const getVoiceChannelId = selectedChannelStoreBinding.getVoiceChannelId; const value2 = Reflect.apply(getChannel, channelStoreBinding, [Reflect.apply(getVoiceChannelId, selectedChannelStoreBinding, [])]); const value3 = undefined; const type = value2 == null ? value3 : value2.type; const r4 = value2 == null ? value3 : value2.getGuildId(); const wasEverRtcConnected = RTCConnectionStore.getWasEverRtcConnected(); const state = RTCConnectionStore.getState(); const object = {channelType: type, guildId: r4}; const RTC_CONNECTED = RTCConnectionStates.RTC_CONNECTED; object.connected = state === RTC_CONNECTED; let r3 = !wasEverRtcConnected && state !== RTCConnectionStates.DISCONNECTED; r3 = !r3 ? state === RTCConnectionStates.RTC_CONNECTED : r3; object.connectHasStarted = r3; let gameConsoleStoreBinding = GameConsoleStore; const getAwaitingRemoteSessionInfo = gameConsoleStoreBinding.getAwaitingRemoteSessionInfo; object.awaitingRemote = Reflect.apply(getAwaitingRemoteSessionInfo, gameConsoleStoreBinding, []) != null; gameConsoleStoreBinding = GameConsoleStore; const getRemoteSessionId = gameConsoleStoreBinding.getRemoteSessionId; object.connectedRemote = Reflect.apply(getRemoteSessionId, gameConsoleStoreBinding, []) != null; return object; } function _fun116811(a0, {channelType, connected, connectHasStarted, awaitingRemote, connectedRemote}) { // fn#116811, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:1900, offset: 0x0249737d, size: 160 bytes, params: 3, frame: 17 var value; const channelType2 = a0.channelType; const connectedRemote2 = a0.connectedRemote; const connected2 = a0.connected; if (!a0.connectHasStarted) { if (connectHasStarted) { if (channelType == null) { return 'user_join'; } value = environment.__proto__; if (SILENT_JOIN_LEAVE_CHANNEL_TYPES.has(channelType)) { return undefined; } return 'user_join'; } } if (connectedRemote) { if (connectedRemote2) { if (connected2) { if (connected) { return undefined; } if (awaitingRemote) { return undefined; } if (connectedRemote) { return undefined; } if (channelType2 == null) { return 'disconnect'; } value = environment.__proto__; if (SILENT_JOIN_LEAVE_CHANNEL_TYPES.has(channelType2)) { return undefined; } return 'disconnect'; } return undefined; } if (channelType == null) { return 'user_join'; } value = environment.__proto__; if (SILENT_JOIN_LEAVE_CHANNEL_TYPES.has(channelType)) { return undefined; } return 'user_join'; } if (connected2) { if (connected) { return undefined; } if (awaitingRemote) { return undefined; } if (connectedRemote) { return undefined; } if (channelType2 == null) { return 'disconnect'; } value = environment.__proto__; if (SILENT_JOIN_LEAVE_CHANNEL_TYPES.has(channelType2)) { return undefined; } return 'disconnect'; } } } function Speaking() { // fn#116812, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2196, offset: 0x0249741d, size: 48 bytes, params: 1, frame: 15 useSound([SpeakingStore], function() { return SpeakingStore.isCurrentUserPTTActive(); }, _fun116814); return null; function _fun116813() { // fn#116813, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2237, offset: 0x0249744d, size: 21 bytes, params: 1, frame: 9 return SpeakingStore.isCurrentUserPTTActive(); } function _fun116814(a0, a1) { // fn#116814, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2270, offset: 0x02497462, size: 75 bytes, params: 3, frame: 12 if (a0 === a1) { return undefined; } const value = environment.__proto__; const isSelfMute2 = MediaEngineStore.isSelfMute(); const mode = MediaEngineStore.getMode(); const PUSH_TO_TALK = InputModes.PUSH_TO_TALK; if (mode !== PUSH_TO_TALK) { return undefined; } if (isSelfMute2) { return undefined; } return a1 ? 'ptt_start' : 'ptt_stop'; } } function SelfMutedTemporarily() { // fn#116815, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2386, offset: 0x024974ad, size: 48 bytes, params: 1, frame: 15 useSound([MediaEngineStore], function() { return MediaEngineStore.isSelfMutedTemporarily(); }, _fun116817); return null; function _fun116816() { // fn#116816, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2439, offset: 0x024974dd, size: 19 bytes, params: 1, frame: 9 return MediaEngineStore.isSelfMutedTemporarily(); } function _fun116817(a0, a1) { // fn#116817, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2472, offset: 0x024974f0, size: 75 bytes, params: 3, frame: 12 if (a0 === a1) { return undefined; } const value = environment.__proto__; const isSelfMute2 = MediaEngineStore.isSelfMute(); const mode = MediaEngineStore.getMode(); const VOICE_ACTIVITY = InputModes.VOICE_ACTIVITY; if (mode !== VOICE_ACTIVITY) { return undefined; } if (isSelfMute2) { return undefined; } return a1 ? 'ptt_stop' : 'ptt_start'; } } function PriorityVAD() { // fn#116818, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2590, offset: 0x0249753b, size: 48 bytes, params: 1, frame: 15 useSound([SpeakingStore], function() { return SpeakingStore.isCurrentUserPrioritySpeaker(); }, _fun116820); return null; function _fun116819() { // fn#116819, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2634, offset: 0x0249756b, size: 21 bytes, params: 1, frame: 9 return SpeakingStore.isCurrentUserPrioritySpeaker(); } function _fun116820(a0, a1) { // fn#116820, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2673, offset: 0x02497580, size: 75 bytes, params: 3, frame: 12 if (a0 === a1) { return undefined; } const value = environment.__proto__; const isSelfMute2 = MediaEngineStore.isSelfMute(); const mode = MediaEngineStore.getMode(); const VOICE_ACTIVITY = InputModes.VOICE_ACTIVITY; if (mode !== VOICE_ACTIVITY) { return undefined; } if (isSelfMute2) { return undefined; } return a1 ? 'ptt_start' : 'ptt_stop'; } } function UserHasBeenMoved() { // fn#116821, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2791, offset: 0x024975cb, size: 48 bytes, params: 1, frame: 15 useSound([VoiceStateStore], function() { return VoiceStateStore.userHasBeenMovedVersion; }, function(a0, a1) { if (a0 !== a1) { return 'user_moved'; } }); return null; function _fun116822() { // fn#116822, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2840, offset: 0x024975fb, size: 17 bytes, params: 1, frame: 1 return VoiceStateStore.userHasBeenMovedVersion; } } function UserInvitedToSpeak() { // fn#116824, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2916, offset: 0x02497620, size: 56 bytes, params: 1, frame: 15 useSound([SelectedChannelStore, VoiceStateStore], _fun116825, function(a0, a1) { if (a0 !== a1) { if (a1 === require(dependencyMap[20]).RequestToSpeakStates.REQUESTED_TO_SPEAK_AND_AWAITING_USER_ACK) { return 'reconnect'; } } }); return null; function _fun116825() { // fn#116825, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:2969, offset: 0x02497658, size: 109 bytes, params: 1, frame: 13 const value = environment.__proto__; const voiceChannelId = SelectedChannelStore.getVoiceChannelId(); if (voiceChannelId == null) { return (require(4802) /* metro dependency 4802: useAudienceRequestToSpeakState */).RequestToSpeakStates.NONE; } return (require(4802) /* metro dependency 4802: useAudienceRequestToSpeakState */).getAudienceRequestToSpeakState(VoiceStateStore.getVoiceStateForChannel(voiceChannelId)); } function _fun116826(a0, a1) { // fn#116826, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:3143, offset: 0x024976c5, size: 61 bytes, params: 3, frame: 12 if (a0 !== a1) { var RequestToSpeakStates = (require(4802) /* metro dependency 4802: useAudienceRequestToSpeakState */).RequestToSpeakStates; var REQUESTED_TO_SPEAK_AND_AWAITING_USER_ACK = RequestToSpeakStates.REQUESTED_TO_SPEAK_AND_AWAITING_USER_ACK; if (a1 === REQUESTED_TO_SPEAK_AND_AWAITING_USER_ACK) { return 'reconnect'; } } } } function VoiceChannel() { // fn#116827, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:3262, offset: 0x02497702, size: 80 bytes, params: 1, frame: 15 useSound([SelectedChannelStore, ApplicationStreamingStore, AuthenticationStore, VoiceStateStore, ChannelStore], _fun116828, _fun116831); return null; function _fun116828() { // fn#116828, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:3315, offset: 0x02497752, size: 391 bytes, params: 1, frame: 24 var environment; var r5; var r6; var r8; var r4; var channel; var type; var sortedVoiceStateStoreBinding; var countVoiceStatesForChannel; var id; var value8; var voiceStateStoreBinding; var isInChannel; var value11; var getAllApplicationStreamsForChannel; var value16; let value = environment.__proto__; const voiceChannelId = SelectedChannelStore.getVoiceChannelId(); const id2 = AuthenticationStore.getId(); const items2 = []; const allActiveStreams = ApplicationStreamingStore.getAllActiveStreams(); const value5 = null; const value6 = undefined; if (value5 != voiceChannelId) { channel = ChannelStore.getChannel(voiceChannelId); if (value5 != channel) { type = channel.type; sortedVoiceStateStoreBinding = SortedVoiceStateStore; countVoiceStatesForChannel = sortedVoiceStateStoreBinding.countVoiceStatesForChannel; id = channel.id; value8 = Reflect.apply(countVoiceStatesForChannel, sortedVoiceStateStoreBinding, [id]); voiceStateStoreBinding = VoiceStateStore; isInChannel = voiceStateStoreBinding.isInChannel; id = channel.id; value11 = value8 - (Reflect.apply(isInChannel, voiceStateStoreBinding, [id]) ? 1 : 0); applicationStreamingStoreBinding = ApplicationStreamingStore; getAllApplicationStreamsForChannel = applicationStreamingStoreBinding.getAllApplicationStreamsForChannel; id = channel.id; r5 = Reflect.apply(getAllApplicationStreamsForChannel, applicationStreamingStoreBinding, [id]).map(function(a0) { return a0.ownerId; }); r6 = value11; r8 = type; } else { r5 = items2; r6 = value6; r8 = value6; } } else { r5 = items2; r6 = value6; r8 = value6; } let length = allActiveStreams.length; let r12 = length === 1 ? allActiveStreams[0] : ApplicationStreamingStore.getCurrentUserActiveStream(); const state = value5 == r12 ? value6 : r12.state; const CONNECTING = ApplicationStreamStates.CONNECTING; r12 = state === CONNECTING ? value5 : r12; if (value5 != r12) { value16 = (require(4285) /* metro dependency 4285: StreamKeyUtils */).encodeStreamKey(r12); value = ApplicationStreamingStore.getViewerIds(value16); length = value.filter(_fun116830).length; r4 = value16; } else { length = 0; r4 = value5; } return {channelType: r8, voiceChannelId: voiceChannelId, voiceChannelUserCount: r6, streamingUserIds: r5, singleActiveStreamKey: r4, singleActiveStreamViewerCount: length, currentUserId: id2, allActiveStreams: allActiveStreams}; function _fun116830(a0) { // fn#116830, offset: 0x00ce1772, size: 16 bytes, params: 2, frame: 2 return a0 !== env0_0; } } function _fun116831(a0, {channelType, voiceChannelId, voiceChannelUserCount, streamingUserIds, singleActiveStreamKey, singleActiveStreamViewerCount, currentUserId}) { // fn#116831, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:3974, offset: 0x024978e4, size: 487 bytes, params: 3, frame: 23 var environment; var r11; var r9; var r6; var r5; var r4; var r3; var r2; var r1; var value2; var channelStoreBinding; var getChannel; var value3; var value4; var getGuildId; var value5; var guildStoreBinding; var getGuild; var value6; var value7; var afkChannelId; var id; var value8; var has; var value9; var singleActiveStreamKey2; var value10; var some; var value11; var allActiveStreams; var map; var value12; var value13; var value14; var singleActiveStreamViewerCount2; var singleActiveStreamViewerCount3; var value15; var voiceChannelUserCount2; var voiceChannelUserCount3; var voiceChannelUserCount4; var value16; var voiceChannelUserCount5; var voiceChannelUserCount6; var voiceChannelUserCount7; var value17; var singleActiveStreamViewerCount4; var singleActiveStreamViewerCount5; const env0_0 = a0; let value = undefined; var env0_3; if (a0.voiceChannelId === voiceChannelId) { reducibleJoin35: while (true) { if (voiceChannelId == null) { break reducibleJoin35; } value2 = environment.__proto__; channelStoreBinding = ChannelStore; getChannel = channelStoreBinding.getChannel; value3 = Reflect.apply(getChannel, channelStoreBinding, [voiceChannelId]); value4 = false; reducibleJoin7: while (true) { if (value3 == null) { r9 = value4; break reducibleJoin7; } getGuildId = value3.getGuildId; value5 = Reflect.apply(getGuildId, value3, []); if (value5 == null) { r9 = value4; break reducibleJoin7; } guildStoreBinding = GuildStore; getGuild = guildStoreBinding.getGuild; value6 = Reflect.apply(getGuild, guildStoreBinding, [value5]); value7 = value6 != null; reducibleJoin6: while (true) { if (value7) { afkChannelId = value6.afkChannelId; id = value3.id; value8 = afkChannelId === id; r11 = value8; break reducibleJoin6; } r11 = value7; break reducibleJoin6; } r9 = r11; break reducibleJoin7; } if (!r9) { if (channelType != null) { has = SILENT_JOIN_LEAVE_CHANNEL_TYPES.has; reducibleJoin10: while (true) { if (Reflect.apply(has, SILENT_JOIN_LEAVE_CHANNEL_TYPES, [channelType])) { break reducibleJoin35; } break reducibleJoin10; } } value9 = singleActiveStreamKey != null; reducibleJoin12: while (true) { if (value9) { singleActiveStreamKey2 = a0.singleActiveStreamKey; value10 = singleActiveStreamKey2 === singleActiveStreamKey; r9 = value10; break reducibleJoin12; } r9 = value9; break reducibleJoin12; } some = streamingUserIds.some; value11 = Reflect.apply(some, streamingUserIds, [_fun116832]); allActiveStreams = a0.allActiveStreams; map = allActiveStreams.map; env0_3 = Reflect.apply(map, allActiveStreams, [function(a0) { return a0.ownerId; }]); streamingUserIds = a0.streamingUserIds; some = streamingUserIds.some; value12 = Reflect.apply(some, streamingUserIds, [_fun116834]); value13 = 'stream_started'; reducibleJoin34: while (true) { if (value11) { r1 = value13; break reducibleJoin34; } value14 = 'stream_ended'; reducibleJoin33: while (true) { if (value12) { r2 = value14; break reducibleJoin33; } singleActiveStreamViewerCount2 = a0.singleActiveStreamViewerCount; reducibleJoin32: while (true) { reducibleJoin31: while (true) { if (singleActiveStreamViewerCount2 <= 25) { if (r9) { singleActiveStreamViewerCount3 = a0.singleActiveStreamViewerCount; value15 = 'stream_user_joined'; if (singleActiveStreamViewerCount > singleActiveStreamViewerCount3) { r3 = value15; break reducibleJoin32; } } if (a0.voiceChannelUserCount != null) { if (voiceChannelUserCount != null) { voiceChannelUserCount3 = a0.voiceChannelUserCount; if (voiceChannelUserCount3 <= 25) { voiceChannelUserCount4 = a0.voiceChannelUserCount; value16 = 'user_join'; if (voiceChannelUserCount > voiceChannelUserCount4) { r4 = value16; break reducibleJoin31; } } } } reducibleJoin30: while (true) { reducibleJoin29: while (true) { if (a0.voiceChannelUserCount == null) { if (a0.singleActiveStreamViewerCount <= 25) { if (r9) { singleActiveStreamViewerCount5 = a0.singleActiveStreamViewerCount; if (singleActiveStreamViewerCount < singleActiveStreamViewerCount5) { value = 'stream_user_left'; r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } if (voiceChannelUserCount != null) { voiceChannelUserCount6 = a0.voiceChannelUserCount; if (voiceChannelUserCount6 <= 25) { voiceChannelUserCount7 = a0.voiceChannelUserCount; value17 = 'user_leave'; if (voiceChannelUserCount < voiceChannelUserCount7) { r5 = value17; break reducibleJoin30; } } } singleActiveStreamViewerCount4 = a0.singleActiveStreamViewerCount; if (singleActiveStreamViewerCount4 <= 25) { if (r9) { singleActiveStreamViewerCount5 = a0.singleActiveStreamViewerCount; if (singleActiveStreamViewerCount < singleActiveStreamViewerCount5) { value = 'stream_user_left'; r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r5 = r6; break reducibleJoin30; } r4 = r5; break reducibleJoin31; } voiceChannelUserCount2 = a0.voiceChannelUserCount; if (voiceChannelUserCount2 != null) { if (voiceChannelUserCount != null) { voiceChannelUserCount3 = a0.voiceChannelUserCount; if (voiceChannelUserCount3 <= 25) { voiceChannelUserCount4 = a0.voiceChannelUserCount; value16 = 'user_join'; if (voiceChannelUserCount > voiceChannelUserCount4) { r4 = value16; break reducibleJoin31; } } } } voiceChannelUserCount5 = a0.voiceChannelUserCount; reducibleJoin30: while (true) { reducibleJoin29: while (true) { if (voiceChannelUserCount5 == null) { if (a0.singleActiveStreamViewerCount <= 25) { if (r9) { singleActiveStreamViewerCount5 = a0.singleActiveStreamViewerCount; if (singleActiveStreamViewerCount < singleActiveStreamViewerCount5) { value = 'stream_user_left'; r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } if (voiceChannelUserCount != null) { voiceChannelUserCount6 = a0.voiceChannelUserCount; if (voiceChannelUserCount6 <= 25) { voiceChannelUserCount7 = a0.voiceChannelUserCount; value17 = 'user_leave'; if (voiceChannelUserCount < voiceChannelUserCount7) { r5 = value17; break reducibleJoin30; } } } singleActiveStreamViewerCount4 = a0.singleActiveStreamViewerCount; if (singleActiveStreamViewerCount4 <= 25) { if (r9) { singleActiveStreamViewerCount5 = a0.singleActiveStreamViewerCount; if (singleActiveStreamViewerCount < singleActiveStreamViewerCount5) { value = 'stream_user_left'; r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r6 = value; break reducibleJoin29; } r5 = r6; break reducibleJoin30; } r4 = r5; break reducibleJoin31; } r3 = r4; break reducibleJoin32; } r2 = r3; break reducibleJoin33; } r1 = r2; break reducibleJoin34; } return r1; } break reducibleJoin35; } } return value; function _fun116832(a0) { // fn#116832, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:4401, offset: 0x02497acb, size: 31 bytes, params: 2, frame: 11 const streamingUserIds = env0_0.streamingUserIds; return !streamingUserIds.includes(a0); } function _fun116834(a0) { // fn#116834, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:4506, offset: 0x02497aea, size: 56 bytes, params: 2, frame: 13 return !streamingUserIds.includes(a0) && (a0 === currentUserId || env0_3.includes(a0)); } } } function ActivitySounds() { // fn#116835, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:5012, offset: 0x02497b22, size: 72 bytes, params: 1, frame: 15 useSound([SelectedChannelStore, EmbeddedActivitiesStore, FramesStore, AuthenticationStore], _fun116836, _fun116837); return null; function _fun116836() { // fn#116836, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:5065, offset: 0x02497b6a, size: 349 bytes, params: 1, frame: 19 const voiceChannelId = SelectedChannelStore.getVoiceChannelId(); const channelId = SelectedChannelStore.getChannelId(); const connectedActivityLocation = EmbeddedActivitiesStore.getConnectedActivityLocation(); const embeddedActivityLocationChannelId = (EmbeddedActivityLocationUtilsModule).getEmbeddedActivityLocationChannelId(connectedActivityLocation); const id = AuthenticationStore.getId(); const r3 = GlobalUtilsModule.isNotNullish(channelId) ? EmbeddedActivitiesStore.getEmbeddedActivitiesForChannel(channelId) : NO_ACTIVITIES; const r2 = GlobalUtilsModule.isNotNullish(voiceChannelId) ? EmbeddedActivitiesStore.getEmbeddedActivitiesForChannel(voiceChannelId) : NO_ACTIVITIES; const object = {connectedActivityLocation: connectedActivityLocation, voiceChannelId: voiceChannelId, currentUserId: id, channelActivities: r3}; object.connectedChannelActivities = GlobalUtilsModule.isNotNullish(embeddedActivityLocationChannelId) ? EmbeddedActivitiesStore.getEmbeddedActivitiesForChannel(embeddedActivityLocationChannelId) : NO_ACTIVITIES; object.userConnectedActivity = GlobalUtilsModule.isNotNullish(connectedActivityLocation) ? EmbeddedActivitiesStore.getSelfEmbeddedActivityForLocation(connectedActivityLocation) : null; object.voiceChannelActivities = r2; object.connectedFrame = FramesStore.getConnectedFrame(); return object; } function _fun116837(a0, {connectedActivityLocation, voiceChannelId, currentUserId, channelActivities, connectedChannelActivities, userConnectedActivity, voiceChannelActivities, connectedFrame}) { // fn#116837, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:5684, offset: 0x02497cc7, size: 1016 bytes, params: 3, frame: 25 var r14; var r8; var r0; var r2; var r4; var r7; var r6; var r1; var value4; var value5; var value6; var moduleValue2; var userIds; var size; var userConnectedActivity2; let value = voiceChannelActivities.some(_fun116838); const globalUtilsModule = require(1360) /* metro dependency 1360: GlobalUtils */; if (globalUtilsModule.isNotNullish(voiceChannelId)) { value4 = a0.voiceChannelActivities.find(function({userIds}) { return userIds.has(currentUserId); }); value5 = voiceChannelActivities.find(_fun116840); value6 = a0.voiceChannelActivities.length < voiceChannelActivities.length; if (value6) { moduleValue2 = globalUtilsModule; r14 = moduleValue2.isNotNullish(a0.voiceChannelId); } else { r14 = value6; } r8 = r14 ? 'activity_launch' : undefined; r14 = value5 === undefined && (require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish(value4); r8 = r14 ? 'activity_end' : r8; r14 = value4 === undefined && (require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish(value5); r14 = r14 && value5.userIds.size > 1; r8 = r14 ? 'activity_user_join' : r8; r14 = (require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish(value5) && (require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish(value4); if (r14) { userIds = value5.userIds; size = userIds.size; userIds = value4.userIds; r8 = size > userIds.size ? 'activity_user_join' : r8; userIds = value5.userIds; size = userIds.size; userIds = value4.userIds; r8 = size < userIds.size ? 'activity_user_left' : r8; r0 = r8; } else { r0 = r8; } } else { r0 = undefined; } if (value) { r8 = r0; } else { value = a0.connectedChannelActivities.length < connectedChannelActivities.length; r0 = value && a0.channelActivities.length < channelActivities.length ? 'activity_launch' : r0; userConnectedActivity2 = a0.userConnectedActivity; value = userConnectedActivity == null; if (value) { value = globalUtilsModule; value = value.isNotNullish(userConnectedActivity2); r4 = value; } else { r4 = value; } r0 = r4 ? 'activity_end' : r0; value = require(1360) /* metro dependency 1360: GlobalUtils */; value = value.isNotNullish(userConnectedActivity); if (value) { value = require(1360) /* metro dependency 1360: GlobalUtils */; value = value.isNotNullish(userConnectedActivity2); r4 = value; } else { r4 = value; } if (r4) { userIds = userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity2.userIds; r0 = size > userIds.size ? 'activity_user_join' : r0; userIds = userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity2.userIds; r0 = size < userIds.size ? 'activity_user_left' : r0; r8 = r0; } else { r8 = r0; } } r0 = r8 != null || a0.connectedActivityLocation == null && connectedActivityLocation == null; if (r0) { r2 = r8; } else { if (a0.connectedActivityLocation != null) { if (a0.connectedActivityLocation == null) { r7 = userConnectedActivity != null && a0.userConnectedActivity != null; if (r7) { userIds = a0.userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity.userIds; if (size < userIds.size) { r7 = 'activity_user_join'; } else { userIds = a0.userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity.userIds; r8 = size > userIds.size ? 'activity_user_leave' : r8; r7 = r8; } r6 = r7; } else { r6 = r8; } r1 = r6; } else if (connectedActivityLocation == null) { r1 = 'activity_end'; } else { r7 = userConnectedActivity != null && a0.userConnectedActivity != null; if (r7) { userIds = a0.userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity.userIds; if (size < userIds.size) { r7 = 'activity_user_join'; } else { userIds = a0.userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity.userIds; r8 = size > userIds.size ? 'activity_user_leave' : r8; r7 = r8; } r6 = r7; } else { r6 = r8; } r1 = r6; } r0 = r1; } else if (connectedActivityLocation != null) { r0 = 'activity_launch'; } else { if (a0.connectedActivityLocation == null) { r7 = userConnectedActivity != null && a0.userConnectedActivity != null; if (r7) { userIds = a0.userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity.userIds; if (size < userIds.size) { r7 = 'activity_user_join'; } else { userIds = a0.userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity.userIds; r8 = size > userIds.size ? 'activity_user_leave' : r8; r7 = r8; } r6 = r7; } else { r6 = r8; } r1 = r6; } else if (connectedActivityLocation == null) { r1 = 'activity_end'; } else { r7 = userConnectedActivity != null && a0.userConnectedActivity != null; if (r7) { userIds = a0.userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity.userIds; if (size < userIds.size) { r7 = 'activity_user_join'; } else { userIds = a0.userConnectedActivity.userIds; size = userIds.size; userIds = userConnectedActivity.userIds; r8 = size > userIds.size ? 'activity_user_leave' : r8; r7 = r8; } r6 = r7; } else { r6 = r8; } r1 = r6; } r0 = r1; } r2 = r0; } return r2 != null || a0.connectedFrame == null && connectedFrame == null ? r2 : a0.connectedFrame != null ? a0.connectedFrame != null && connectedFrame == null ? 'activity_end' : r2 : connectedFrame != null ? 'activity_launch' : a0.connectedFrame != null && connectedFrame == null ? 'activity_end' : r2; function _fun116838(a0) { // fn#116838, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:5891, offset: 0x024980bf, size: 64 bytes, params: 2, frame: 5 return a0.applicationId === userConnectedActivity?.applicationId && a0.launchId === userConnectedActivity.launchId; } function _fun116840({userIds}) { // fn#116840, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:6070, offset: 0x024980ff, size: 28 bytes, params: 2, frame: 11 return userIds.has(currentUserId); } } } function SoundPlayer() { // fn#116841, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:7486, offset: 0x0249811b, size: 195 bytes, params: 1, frame: 18 return ( <> ); } } function _fun116808({videoEnabled, inVoiceChannel}, {videoEnabled, inVoiceChannel}) { // fn#116808, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15473:1341, offset: 0x02497226, size: 57 bytes, params: 3, frame: 4 if (videoEnabled !== videoEnabled) { if (inVoiceChannel) { if (inVoiceChannel) { return videoEnabled ? 'camera_on' : 'camera_off'; } return undefined; } } } function _fun116823(a0, a1) { // fn#116823, offset: 0x0249760c, size: 20 bytes, params: 3, frame: 2 if (a0 !== a1) { return 'user_moved'; } } global.__d(_fun116798, 15276, [31, 1378, 8065, 4295, 1383, 4492, 1226, 1379, 1867, 4259, 10907, 4294, 1934, 4607, 4297, 4300, 661, 33, 566, 10756, 4802, 4285, 3774, 1360, 2]) /* metro module 15276, dependencies: [31, 1378, 8065, 4295, 1383, 4492, 1226, 1379, 1867, 4259, 10907, 4294, 1934, 4607, 4297, 4300, 661, 33, 566, 10756, 4802, 4285, 3774, 1360, 2] */;