/* Metro module 13081; source: modules/soundboard/native/SoundboardManager.tsx; dependencies: [5, 7, 6, 15, 17, 18, 4259, 1934, 4613, 3, 13082, 13083, 10756, 6944, 13084, 2] */ function _fun99948(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#99948, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13271:6, offset: 0x021da43a, size: 366 bytes, params: 8, frame: 20 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(5) /* metro dependency 5 */; const env0_4 = importDefault(7) /* metro dependency 7 */; const env0_5 = importDefault(6) /* metro dependency 6 */; const env0_6 = importDefault(15) /* metro dependency 15 */; const env0_7 = importDefault(17) /* metro dependency 17 */; const env0_8 = importDefault(18) /* metro dependency 18 */; const mediaEngineStore = importDefault(4259) /* metro dependency 4259: MediaEngineStore */; const selectedChannelStore = importDefault(1934) /* metro dependency 1934: SelectedChannelStore */; const soundboardStore = importDefault(4613) /* metro dependency 4613: SoundboardStore */; const Map = global.Map; let map = new Map(); map = importDefault(3) /* metro dependency 3: Logger */; map = new map('SoundboardManagerNative'); map = importDefault(13084) /* metro dependency 13084: BaseSoundboardManager */; map = _fun99952(map); map = new map(); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/soundboard/native/SoundboardManager.tsx'); exports.default = map; } function _isNativeReflectConstruct_99949() { // fn#99949, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13271:188, offset: 0x021da5a8, 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_99949_isNativeReflectConstruct = function() { return !!result; })(); } function _fun99952(a0) { // fn#99952, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13271:439, offset: 0x021da60a, size: 42 bytes, params: 2, frame: 14 const closure = SoundboardManager; env0_8(closure, a0); return env0_4(closure); } function SoundboardManager(a0) { // fn#99953, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13271:451, offset: 0x021da634, size: 175 bytes, params: 2, frame: 20 var r0; var Reflect; let value = copyRestArgs(0, undefined); let binding = env1_5; binding(this, SoundboardManager); const items2 = []; arraySpread(items2, value, 0, items2); value = env1_7(SoundboardManager); binding = env1_6; if (_isNativeReflectConstruct_99949()) { Reflect = global.Reflect; value = Reflect.construct(value, items2, env1_7(this).constructor); r0 = value; } else { value = value.apply(this, items2); r0 = value; } value = binding(this, r0); value._stopAndClearSounds = _stopAndClearSounds; value._playSound = _playSound; value._playSoundWithListener = _fun99957(); return value; } function SoundboardManager_stopAndClearSounds() { // fn#99954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13271:710, owner: SoundboardManager._stopAndClearSounds, offset: 0x021da6e3, size: 62 bytes, params: 1, frame: 12 env2_12.forEach(function(a0) { a0.stop(); }); const Map = global.Map; const map = new Map(); } function SoundboardManager_playSound(a0) { // fn#99956, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13271:766, owner: SoundboardManager._playSound, offset: 0x021da732, size: 321 bytes, params: 2, frame: 22 var value2; var value3; var binding; var value4; var sound; let value = a1; const r3 = value !== undefined ? value : 1; value = environment.__proto__.__proto__; const getVoiceChannelId = SelectedChannelStore.getVoiceChannelId; if (Reflect.apply(getVoiceChannelId, SelectedChannelStore, []) === a3) { if (!MediaEngineStore.isDeaf()) { if (!SoundboardStore.isLocalSoundboardMuted(a2)) { value2 = (importDefault(13082) /* metro dependency 13082: getVolumeForSound */)(r3); value3 = '' + a2 + '-' + a0; binding = env2_12; value4 = binding.get(value3); if (value4 != null) { value4.stop(); } sound = (require(10756) /* metro dependency 10756: SoundUtils */).createSound((importDefault(13083) /* metro dependency 13083: getSoundboardSoundURL */)(a0), 'soundboard_sound', value2); sound.volume = value2; binding = env2_12; binding.set(value3, sound); (require(6944) /* metro dependency 6944: SoundboardActionCreators */).reportSoundStartedPlaying(a0, a2); binding = env0_0; binding._playSoundWithListener({sound: sound, soundKey: value3, soundId: a0, userId: a2}); } } } else if (a3 == null) { if (!MediaEngineStore.isDeaf()) { if (!SoundboardStore.isLocalSoundboardMuted(a2)) { value2 = (importDefault(13082) /* metro dependency 13082: getVolumeForSound */)(r3); value3 = '' + a2 + '-' + a0; binding = env2_12; value4 = binding.get(value3); if (value4 != null) { value4.stop(); } sound = (require(10756) /* metro dependency 10756: SoundUtils */).createSound((importDefault(13083) /* metro dependency 13083: getSoundboardSoundURL */)(a0), 'soundboard_sound', value2); sound.volume = value2; binding = env2_12; binding.set(value3, sound); (require(6944) /* metro dependency 6944: SoundboardActionCreators */).reportSoundStartedPlaying(a0, a2); binding = env0_0; binding._playSoundWithListener({sound: sound, soundKey: value3, soundId: a0, userId: a2}); } } } } function _fun99957() { // fn#99957, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13271:1147, offset: 0x021da873, size: 36 bytes, params: 1, frame: 12 const env0_0 = env2_3(_fun99959); return _fun99960; } async function _fun99959({sound, soundKey, soundId, userId}) { // fn#99959, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13271:1167, offset: 0x021da8ab, size: 181 bytes, params: 2, frame: 20 var r5; var playWithListener; var value4; var error; var binding; if (true) { await undefined; if (false) { return undefined; } try { playWithListener = sound.playWithListener; } catch (error) { value = environment.__proto__.__proto__.__proto__.__proto__; binding = env4_13; binding.error('Failed to play sound', {error: error}); value = true; r5 = value; if (r5) { value = environment.__proto__.__proto__.__proto__.__proto__; binding = env4_12; binding.delete(soundKey); binding = env4_0; value = binding(env4_2[13]); value.reportSoundFinishedPlaying(soundId, userId); } return undefined; } try { value = Reflect.apply(playWithListener, sound, []); } catch (error) { value = environment.__proto__.__proto__.__proto__.__proto__; binding = env4_13; binding.error('Failed to play sound', {error: error}); value = true; r5 = value; if (r5) { value = environment.__proto__.__proto__.__proto__.__proto__; binding = env4_12; binding.delete(soundKey); binding = env4_0; value = binding(env4_2[13]); value.reportSoundFinishedPlaying(soundId, userId); } return undefined; } await value; try { value = undefined; value4 = false; } catch (error) { value = environment.__proto__.__proto__.__proto__.__proto__; binding = env4_13; binding.error('Failed to play sound', {error: error}); value = true; r5 = value; if (r5) { value = environment.__proto__.__proto__.__proto__.__proto__; binding = env4_12; binding.delete(soundKey); binding = env4_0; value = binding(env4_2[13]); value.reportSoundFinishedPlaying(soundId, userId); } return undefined; } if (value4) { return value; } if (value) { value = environment.__proto__.__proto__.__proto__.__proto__; binding = env4_12; binding.delete(soundKey); binding = env4_0; value = binding(env4_2[13]); value.reportSoundFinishedPlaying(soundId, userId); } } }