// Module ID: 7482 // Function ID: 7483 // Name: PrivateChannelCallUtils // Dependencies: [5, 19, 4802, 6074, 2065, 4760, 2116, 1390, 1085, 1110, 7483, 21, 5924, 5106, 7484, 1121, 6726, 5929, 5056, 13583, 2000, 5934, 5889, 5300, 1126, 7500, 4985, 13616, 5301, 7017, 2] // Exports: dismissVoiceChannelScreens, getVoiceChannelKey, getVoiceChannelKeyByChannelId, handleJoinCall, handleRedesignGroupDMCall, handleRedesignJoinCall, handleStartCall, hideVoiceChannelActionSheet, isVoiceChannelModalKey, maybeShowAgeGateModal, navigateToVoiceChannel, openChannelCallModal, openGuildVoiceModal, openVoiceChannelActionSheet, showGuardCallAlert // Module 7482 (PrivateChannelCallUtils) import Fragment from "Fragment" /* 21 */; import AgeGateConstants from "AgeGateConstants" /* 1110 */; import intl4 from "intl" /* 1126 */; import asyncRequire from "asyncRequire" /* 2000 */; import ChannelRTCActionCreatorsDefault from "ChannelRTCActionCreators" /* 5106 */; import actions_AlertActionCreatorsDefault from "actions/AlertActionCreators" /* 5300 */; import SelectedChannelActionCreatorsDefault from "SelectedChannelActionCreators" /* 5889 */; import AgeGateUtils from "AgeGateUtils" /* 5924 */; import AgeGateModalActionCreators from "AgeGateModalActionCreators" /* 5929 */; import ModalActionCreatorsDefault from "ModalActionCreators" /* 5934 */; import NativePermissionConstants from "NativePermissionConstants" /* 7483 */; import StageChannelActionCreatorExtras from "StageChannelActionCreatorExtras" /* 7484 */; import _asyncToGenerator from "_asyncToGenerator" /* 5 */; import react from "react" /* 19 */; import ActionSheetStore from "ActionSheetStore" /* 4802 */; import VoicePanelStore from "VoicePanelStore" /* 6074 */; import ChannelStore from "ChannelStore" /* 2065 */; import RelationshipStore from "RelationshipStore" /* 4760 */; import SelectedChannelStore from "SelectedChannelStore" /* 2116 */; import UserStore from "UserStore" /* 1390 */; import Constants from "Constants" /* 1085 */; import size from "module_2" /* 2 */; const require = globalThis.__r; let _require, c1, c2, c3; let closure_12; let map1; let tmp2; let unpackModuleId; const ActionSheetActionCreatorsDefault = tmp2(5056); function openChannelCallModal(channel) { const obj = AgeGateUtils; if (!obj.maybeOpenAgeGateForVoiceChannel(channel.id)) { const obj2 = ChannelRTCActionCreatorsDefault; const result = obj2.rebuildRTCActiveChannels(); if (channel.isGuildStageVoice()) { if (SelectedChannelStore.getVoiceChannelId() === channel.id) { const tmpResult = StageChannelActionCreatorExtras; tmpResult.openStageChannel(channel); } } const state = VoicePanelStore.getState(); state.openChannel(channel.id); const ComponentDispatch = tmp(1121).ComponentDispatch; const obj3 = { channelId: channel.id }; ComponentDispatch.dispatch(constants2.VOICE_PANEL_OPEN, obj3); } } function monkeyPatchCall() { let key; let voiceChannelId; const promise = new Promise((arg0) => { channel = channel.getChannel(voiceChannelId.getVoiceChannelId()); if (null != channel) { const _HermesInternal = HermesInternal; const combined = "" + closure_1_17 + "-" + channel.id; const obj = ModalActionCreatorsDefault; obj.popWithKey(combined, undefined); const tmp5 = importDefault; const tmp6 = dependencyMap; if (key.getKey() === combined) { const tmp5Result = tmp5(tmp6[18]); tmp5Result.hideActionSheet(); } } const obj3 = SelectedChannelActionCreatorsDefault; const voiceChannel = obj3.selectVoiceChannel(null); const timerId = setTimeout(arg0, 500); }); return promise; } function guardPrivateCallForChannel(id, fn) { let intl; let intl2; let intl3; _require = fn; const channel = ChannelStore.getChannel(SelectedChannelStore.getVoiceChannelId()); if (null != channel) { const tmp2 = constants; if (channel.type !== constants.GUILD_VOICE) { const tmp3 = id; if (null != id) { if (id.id !== channel.id) { _require = _asyncToGenerator(async (arg0, value) => { if (c2 === 2) { c2 = 3; throw new TypeError("Generator functions may not be called on executing generators"); } else if (tmp2 === 3) { if (arg0 === 1) { throw value; } else if (arg0 === 2) { const obj2 = { value, done: true }; return obj2; } else { return { value: "IconComponent", done: null }; } } else { try { c2 = 2; if (0 === c1) { if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; const obj3 = { value, done: true }; return obj3; } else { let closure_0 = tmp3; c1 = 1; c2 = 1; const obj4 = { value: monkeyPatchCall(), done: false }; return obj4; } } else if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; const obj = { value, done: true }; return obj; } else { closure_128_0(); c2 = 3; return { value: "IconComponent", done: null }; } } catch (tmp8) { c2 = 3; throw tmp8; } } }); const tmp8 = actions_AlertActionCreatorsDefault; let obj = { title: intl.string(require("intl").t["91WuJ9"]), body: intl2.string(require("intl").t["Rs+Vk1"]), cancelText: intl3.string(require("intl").t["ETE/oC"]), onConfirm() { return closure_0(); }, onCancel, isDismissable: false }; const show = tmp8.show; intl = require("intl").intl; intl2 = require("intl").intl; intl3 = require("intl").intl; show(obj); } } } } fn(); } ({ ChannelTypes: unpackModuleId, ComponentActions: closure_12, NOOP: map1 } = Constants); const AgeGateSource = AgeGateConstants.AgeGateSource; const NativePermissionTypes = NativePermissionConstants.NativePermissionTypes; const jsx = Fragment.jsx; let c17 = "voice-channel"; let result = size.fileFinishedImporting("utils/native/PrivateChannelCallUtils.tsx"); export const getVoiceChannelKeyByChannelId = function getVoiceChannelKeyByChannelId(arg0) { return "" + c17 + "-" + arg0; }; export const getVoiceChannelKey = function getVoiceChannelKey(id) { return "" + c17 + "-" + id; }; export const isVoiceChannelModalKey = function isVoiceChannelModalKey(openModalKey) { return openModalKey.startsWith(c17); }; export { openChannelCallModal }; export const maybeShowAgeGateModal = function maybeShowAgeGateModal(channelId) { _require = channelId; let obj = require("AgeGateUtils"); const tmp = _require; if (obj.shouldShowAgeGateForChannelId(channelId)) { const tmpResult = tmp(6726); tmpResult.runAfterInteractions(() => { const obj = AgeGateModalActionCreators; obj.openAgeGateModal(AgeGateSource.NSFW_VOICE_CHANNEL, channelId); }, 150); } }; export const openVoiceChannelActionSheet = function openVoiceChannelActionSheet(channel) { const openLazy = ActionSheetActionCreatorsDefault.openLazy; ActionSheetActionCreatorsDefault; const obj = { channel }; const tmp2 = asyncRequire(13583, dependencyMap.paths); openLazy(tmp2, "" + c17 + "-" + channel.id, obj); }; export const hideVoiceChannelActionSheet = function hideVoiceChannelActionSheet(id) { const obj = ActionSheetActionCreatorsDefault; obj.hideActionSheet("" + c17 + "-" + id.id); }; export const dismissVoiceChannelScreens = function dismissVoiceChannelScreens(channel, onExited) { const combined = "" + c17 + "-" + channel.id; const obj = ModalActionCreatorsDefault; obj.popWithKey(combined, onExited); if (ActionSheetStore.getKey() === combined) { const tmp2Result = ActionSheetActionCreatorsDefault; tmp2Result.hideActionSheet(); } }; export { monkeyPatchCall }; export const showGuardCallAlert = function showGuardCallAlert(arg0) { let intl; let intl2; let intl3; let closure_0 = arg0; const obj = { title: intl.string(intl4.t["91WuJ9"]), body: intl2.string(intl4.t["Rs+Vk1"]), cancelText: intl3.string(intl4.t["ETE/oC"]), onConfirm() { return closure_0(); }, onCancel: map1, isDismissable: false }; const show = actions_AlertActionCreatorsDefault.show; actions_AlertActionCreatorsDefault; intl = intl4.intl; intl2 = intl4.intl; intl3 = intl4.intl; show(obj); }; export { guardPrivateCallForChannel }; export const handleJoinCall = function handleJoinCall(channel, flag) { let closure_0 = channel; if (flag === undefined) { flag = false; } let obj = function _onConfirm() { obj = _asyncToGenerator(async (arg0, value) => { let closure_0; let v1; if (c2 === 2) { c2 = 3; throw new TypeError("Generator functions may not be called on executing generators"); } else if (tmp2 === 3) { if (arg0 === 1) { throw value; } else if (arg0 === 2) { const obj5 = { value, done: true }; return obj5; } else { return { value: "IconComponent", done: null }; } } else { try { c2 = 2; if (0 === c1) { if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; const obj6 = { value, done: true }; return obj6; } else { const tmp20 = flag; if (tmp20) { const obj4 = c1(c2[25]); c1 = 1; c2 = 1; const obj7 = { value: obj4.requestPermission(constants.CAMERA), done: false }; return obj7; } } } else if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; obj = { value, done: true }; return obj; } else if (!value) { c2 = 3; return { value: "IconComponent", done: null }; } const obj2 = tmp3(c2[26]); obj2.dismissKeyboard(); const obj3 = c1(c2[22]); const voiceChannel = obj3.selectVoiceChannel(closure_128_0.id, closure_128_1); c2 = 3; return { value: "IconComponent", done: null }; } catch (tmp16) { c2 = 3; throw tmp16; } } }); return obj(...arguments); }; guardPrivateCallForChannel(channel, function onConfirm() { return obj(...arguments); }); }; export const handleStartCall = function handleStartCall(channel, flag) { _require = channel; if (flag === undefined) { flag = false; } let obj = function _onConfirm2() { obj = _asyncToGenerator(async (arg0, value) => { let closure_0; let closure_1; if (c3 === 2) { c3 = 3; throw new TypeError("Generator functions may not be called on executing generators"); } else if (tmp3 === 3) { if (arg0 === 1) { throw value; } else if (arg0 === 2) { const obj4 = { value, done: true }; return obj4; } else { return { value: "IconComponent", done: null }; } } else { try { let c0; let recipientId; c3 = 2; if (0 === c2) { if (arg0 === 1) { c3 = 3; throw value; } else if (arg0 === 2) { c3 = 3; const obj5 = { value, done: true }; return obj5; } else { c0 = undefined; recipientId = undefined; const tmp39 = flag; if (tmp39) { const obj3 = tmp4(c2[25]); c2 = 1; c3 = 1; const obj6 = { value: obj3.requestPermission(constants2.CAMERA), done: false }; return obj6; } } } else if (arg0 === 1) { c3 = 3; throw value; } else if (arg0 === 2) { c3 = 3; obj = { value, done: true }; return obj; } else if (!value) { c3 = 3; return { value: "IconComponent", done: null }; } const obj2 = tmp(c2[26]); obj2.dismissKeyboard(); const isFriendResult = closure_129_0.type !== constants.DM || friend.isFriend(closure_129_0.getRecipientId()); c0 = isFriendResult; recipientId = null; if (!c0) { recipientId = closure_129_0.getRecipientId(); } const tmp24 = tmp4(c2[29]); const id = closure_129_0.id; let tmp27 = c0; const call = tmp24.call; if (c0) { tmp27 = !closure_129_0.isManaged(); } call(id, closure_129_1, tmp27, recipientId); c3 = 3; return { value: "IconComponent", done: null }; } catch (tmp35) { c3 = 3; throw tmp35; } } }); return obj(...arguments); }; let flag2 = false; if (channel.isDM()) { const tmp = UserStore; const user = UserStore.getUser(channel.getRecipientId()); const tmp3 = null; let isProvisional; if (user != null) { isProvisional = user.isProvisional; } flag2 = false; if (isProvisional) { react.lazy(() => channel(obj[20])(obj[27], obj.paths)); obj = require("useAlertStore"); obj.openAlert("ProvisionalAccountNocallAllowed", ); flag2 = true; } } if (!flag2) { guardPrivateCallForChannel(channel, function onConfirm() { return obj(...arguments); }); } }; export const handleRedesignGroupDMCall = function handleRedesignGroupDMCall(id) { let closure_0 = id; let flag = arg1; if (arg1 === undefined) { flag = false; } let obj = function _onConfirm3() { obj = _asyncToGenerator(async (arg0, value) => { let closure_0; let v1; if (c2 === 2) { c2 = 3; throw new TypeError("Generator functions may not be called on executing generators"); } else if (tmp2 === 3) { if (arg0 === 1) { throw value; } else if (arg0 === 2) { const obj5 = { value, done: true }; return obj5; } else { return { value: "IconComponent", done: null }; } } else { try { c2 = 2; if (0 === c1) { if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; const obj6 = { value, done: true }; return obj6; } else { const tmp18 = flag; if (tmp18) { const obj4 = c1(c2[25]); c1 = 1; c2 = 1; const obj7 = { value: obj4.requestPermission(constants.CAMERA), done: false }; return obj7; } } } else if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; obj = { value, done: true }; return obj; } else if (!value) { c2 = 3; return { value: "IconComponent", done: null }; } const obj2 = tmp3(c2[26]); obj2.dismissKeyboard(); const obj3 = c1(c2[29]); obj3.call(closure_128_0.id, closure_128_1, true); c2 = 3; return { value: "IconComponent", done: null }; } catch (tmp14) { c2 = 3; throw tmp14; } } }); return obj(...arguments); }; guardPrivateCallForChannel(id, function onConfirm() { return obj(...arguments); }); }; export const handleRedesignJoinCall = function handleRedesignJoinCall(id) { let closure_0 = id; let flag = arg1; if (arg1 === undefined) { flag = false; } let obj = function _onConfirm4() { obj = _asyncToGenerator(async (arg0, value) => { let closure_0; let v1; if (c2 === 2) { c2 = 3; throw new TypeError("Generator functions may not be called on executing generators"); } else if (tmp2 === 3) { if (arg0 === 1) { throw value; } else if (arg0 === 2) { const obj5 = { value, done: true }; return obj5; } else { return { value: "IconComponent", done: null }; } } else { try { c2 = 2; if (0 === c1) { if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; const obj6 = { value, done: true }; return obj6; } else { const tmp20 = flag; if (tmp20) { const obj4 = c1(c2[25]); c1 = 1; c2 = 1; const obj7 = { value: obj4.requestPermission(constants.CAMERA), done: false }; return obj7; } } } else if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; obj = { value, done: true }; return obj; } else if (!value) { c2 = 3; return { value: "IconComponent", done: null }; } const obj2 = tmp3(c2[26]); obj2.dismissKeyboard(); const obj3 = c1(c2[22]); const voiceChannel = obj3.selectVoiceChannel(closure_128_0.id, closure_128_1); c2 = 3; return { value: "IconComponent", done: null }; } catch (tmp16) { c2 = 3; throw tmp16; } } }); return obj(...arguments); }; guardPrivateCallForChannel(id, function onConfirm() { return obj(...arguments); }); }; export const openGuildVoiceModal = openChannelCallModal; export const navigateToVoiceChannel = openChannelCallModal;