Files
discord-decomp/sources/modules/voice_calls/native/CallsUtils.tsx
T
2026-07-28 01:06:53 +03:00

450 lines
25 KiB
TypeScript

/* Metro module 9228; source: modules/voice_calls/native/CallsUtils.tsx; dependencies: [57, 5, 31, 27, 4492, 1379, 4259, 1934, 4297, 9229, 9232, 4661, 9234, 4496, 1244, 4662, 8899, 9235, 1848, 7709, 4796, 22, 9236, 9237, 9238, 477, 566, 9239, 9233, 9438, 9230, 2] */
import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */
import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */
import ChannelStore from '../../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */
import SelectedChannelStore from '../../../stores/SelectedChannelStore.tsx'; /* Metro dependency 1934 */
import MediaEngineStore from '../../../stores/MediaEngineStore.tsx'; /* Metro dependency 4259 */
import VoiceStateStore from '../../../stores/VoiceStateStore.tsx'; /* Metro dependency 4297 */
import ApplicationStreamingStore from '../../../stores/ApplicationStreamingStore.tsx'; /* Metro dependency 4492 */
import AlertActionCreators from '../../../actions/native/AlertActionCreators.tsx'; /* Metro dependency 4496 */
import NativePermissionUtils from '../../native_permissions/NativePermissionUtils.tsx'; /* Metro dependency 4662 */
import SelectedChannelActionCreators from '../../../actions/SelectedChannelActionCreators.tsx'; /* Metro dependency 4796 */
import AudioActionCreators from '../../../actions/AudioActionCreators.tsx'; /* Metro dependency 8899 */
import AudioRouteStoreNative from '../AudioRouteStore.native.tsx'; /* Metro dependency 9229 */
import AudioManagerStoreAndroid from './AudioManagerStore.android.tsx'; /* Metro dependency 9232 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as PlatformUtilsModule from '../../../utils/PlatformUtils.tsx'; /* Metro dependency 477 */
import * as FluxModule from '../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as KeyboardManagerUtilsModule from '../../../utils/native/KeyboardManagerUtils.tsx'; /* Metro dependency 1848 */
import * as NativePermissionConstantsModule from '../../native_permissions/NativePermissionConstants.tsx'; /* Metro dependency 4661 */
import * as PrivateChannelCallUtilsModule from '../../../utils/native/PrivateChannelCallUtils.tsx'; /* Metro dependency 7709 */
import * as VoiceCallTypesModule from '../VoiceCallTypes.tsx'; /* Metro dependency 9230 */
import * as AVErrorModule from '../../errors/av_errors/AVError.tsx'; /* Metro dependency 9235 */
import * as UseIsVideoModeModule from '../../video_calls/native/useIsVideoMode.tsx'; /* Metro dependency 9438 */
function _fun72162(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#72162, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:6, offset: 0x01d3ccd1, size: 1305 bytes, params: 8, frame: 35
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = _fun72163();
const env0_16 = (importDefault(22) /* metro dependency 22 */).debounce(function(a0) {
var AudioRoutePicker = NativeModules.AudioRoutePicker;
if (AudioRoutePicker != null) {
AudioRoutePicker.handleAudioRoute(a0);
}
}, 250);
const env0_17 = (importDefault(22) /* metro dependency 22 */).debounce(function(a0) {
a0();
}, 1);
object = {EARPIECE: importDefault(9236) /* metro dependency 9236 */,
BLUETOOTH_HEADSET: importDefault(9237) /* metro dependency 9237 */,
WIRED_HEADSET: importDefault(9238) /* metro dependency 9238 */,
SPEAKERPHONE: importDefault(9238) /* metro dependency 9238 */,
INVALID: importDefault(9238) /* metro dependency 9238 */};
const object2 = {TYPE_UNKNOWN: 0};
object2[0] = 'TYPE_UNKNOWN';
object2.TYPE_BUILTIN_EARPIECE = 1;
object2[1] = 'TYPE_BUILTIN_EARPIECE';
object2.TYPE_BUILTIN_SPEAKER = 2;
object2[2] = 'TYPE_BUILTIN_SPEAKER';
object2.TYPE_WIRED_HEADSET = 3;
object2[3] = 'TYPE_WIRED_HEADSET';
object2.TYPE_WIRED_HEADPHONES = 4;
object2[4] = 'TYPE_WIRED_HEADPHONES';
object2.TYPE_LINE_ANALOG = 5;
object2[5] = 'TYPE_LINE_ANALOG';
object2.TYPE_LINE_DIGITAL = 6;
object2[6] = 'TYPE_LINE_DIGITAL';
object2.TYPE_BLUETOOTH_SCO = 7;
object2[7] = 'TYPE_BLUETOOTH_SCO';
object2.TYPE_BLUETOOTH_A2DP = 8;
object2[8] = 'TYPE_BLUETOOTH_A2DP';
object2.TYPE_HDMI = 9;
object2[9] = 'TYPE_HDMI';
object2.TYPE_HDMI_ARC = 10;
object2[10] = 'TYPE_HDMI_ARC';
object2.TYPE_USB_DEVICE = 11;
object2[11] = 'TYPE_USB_DEVICE';
object2.TYPE_USB_ACCESSORY = 12;
object2[12] = 'TYPE_USB_ACCESSORY';
object2.TYPE_DOCK = 13;
object2[13] = 'TYPE_DOCK';
object2.TYPE_FM = 14;
object2[14] = 'TYPE_FM';
object2.TYPE_BUILTIN_MIC = 15;
object2[15] = 'TYPE_BUILTIN_MIC';
object2.TYPE_FM_TUNER = 16;
object2[16] = 'TYPE_FM_TUNER';
object2.TYPE_TV_TUNER = 17;
object2[17] = 'TYPE_TV_TUNER';
object2.TYPE_TELEPHONY = 18;
object2[18] = 'TYPE_TELEPHONY';
object2.TYPE_AUX_LINE = 19;
object2[19] = 'TYPE_AUX_LINE';
object2.TYPE_IP = 20;
object2[20] = 'TYPE_IP';
object2.TYPE_BUS = 21;
object2[21] = 'TYPE_BUS';
object2.TYPE_USB_HEADSET = 22;
object2[22] = 'TYPE_USB_HEADSET';
object2.TYPE_HEARING_AID = 23;
object2[23] = 'TYPE_HEARING_AID';
object2.TYPE_BUILTIN_SPEAKER_SAFE = 24;
object2[24] = 'TYPE_BUILTIN_SPEAKER_SAFE';
object2.TYPE_REMOTE_SUBMIX = 25;
object2[25] = 'TYPE_REMOTE_SUBMIX';
object2.TYPE_BLE_HEADSET = 26;
object2[26] = 'TYPE_BLE_HEADSET';
object2.TYPE_BLE_SPEAKER = 27;
object2[27] = 'TYPE_BLE_SPEAKER';
object2.TYPE_ECHO_REFERENCE = 28;
object2[28] = 'TYPE_ECHO_REFERENCE';
object2.TYPE_HDMI_EARC = 29;
object2[29] = 'TYPE_HDMI_EARC';
object2.TYPE_BLE_BROADCAST = 30;
object2[30] = 'TYPE_BLE_BROADCAST';
object2.TYPE_DOCK_ANALOG = 31;
object2[31] = 'TYPE_DOCK_ANALOG';
const r3 = PlatformUtilsModule.isAndroid() ? function() {
return require(dependencyMap[26]).useStateFromStoresObject([AudioManagerStoreAndroid], _fun72170, []);
} : _fun72171;
(FileImportTrackerModule).fileFinishedImporting('modules/voice_calls/native/CallsUtils.tsx');
exports.handleToggleVideo = value;
exports.handleToggleSelfDeaf = handleToggleSelfDeaf;
exports.handleToggleSelfMute = handleToggleSelfMute;
exports.showSuppressedAlert = showSuppressedAlert;
exports.showServerMuteAlert = showServerMuteAlert;
exports.showServerDeafenAlert = showServerDeafenAlert;
exports.showCameraDisabledAlert = showCameraDisabledAlert;
exports.showScreenshareDisabledAlert = showScreenshareDisabledAlert;
exports.showMinOSScreenshareRequirementAlert = showMinOSScreenshareRequirementAlert;
exports.showTabletRequirementAlert = showTabletRequirementAlert;
exports.handleDisconnect = handleDisconnect;
exports.audioDeviceToIconMap = object;
exports.getAudioDeviceToDisplayText = getAudioDeviceToDisplayText;
exports.useMaskedSpeakerStates = r3;
exports.useImmediateMaskedSpeakerStates = useImmediateMaskedSpeakerStates;
function _fun72163() { // fn#72163, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:256, offset: 0x01d3d1ea, size: 36 bytes, params: 1, frame: 12
const env0_0 = Module00005(_fun72165);
return _fun72166;
async function _fun72165(a0) { // fn#72165, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:276, offset: 0x01d3d222, size: 404 bytes, params: 2, frame: 22
var binding3;
var value10;
var show;
var object;
var intl;
var string;
var t;
var formatToPlainString;
var x9mtl4;
var object2;
let value = a1;
if (true) {
var r3 = !(value !== undefined) || value;
await undefined;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
var binding = env2_10;
var isVideoEnabled2 = binding.isVideoEnabled();
var channelVideoLimit = env2_0(env2_3[12]).getChannelVideoLimit(a0);
if (channelVideoLimit.reachedLimit) {
if (r3) {
binding = env2_1;
binding3 = env2_3;
value10 = binding(binding3[13]);
show = value10.show;
object = {};
binding = env2_0;
intl = binding(binding3[14]).intl;
string = intl.string;
t = binding(binding3[14]).t;
object.title = Reflect.apply(string, intl, [t['3ffmE+']]);
intl = binding(binding3[14]).intl;
formatToPlainString = intl.formatToPlainString;
t = binding(binding3[14]).t;
x9mtl4 = t.x9mtl4;
object2 = {};
object2.limit = channelVideoLimit.limit.toString();
object.body = Reflect.apply(formatToPlainString, intl, [x9mtl4, object2]);
Reflect.apply(show, value10, [object]);
}
} else {
binding = env2_1;
var binding2 = env2_3;
if (isVideoEnabled2) {
binding(binding2[16]).setVideoEnabled(false);
return undefined;
}
var value7 = binding(binding2[15]);
var requestPermission = value7.requestPermission;
var CAMERA = env2_15.CAMERA;
await Reflect.apply(requestPermission, value7, [CAMERA]);
var value8 = undefined;
if (false) {
return value8;
}
if (value8) {
env2_1(env2_3[16]).setVideoEnabled(true);
}
}
}
}
function _fun72166() { // fn#72166, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:647, offset: 0x00c3945f, size: 30 bytes, params: 1, frame: 13
return env0_0.apply(this, arguments);
}
}
function _fun72169() { // fn#72169, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:2342, offset: 0x01d3d3dd, size: 65 bytes, params: 1, frame: 15
return (FluxModule).useStateFromStoresObject([AudioManagerStoreAndroid],
_fun72170, []);
function _fun72170() { // fn#72170, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:2385, offset: 0x01d3d41e, size: 127 bytes, params: 1, frame: 16
const activeAudioDevice = AudioManagerStoreAndroid.getActiveAudioDevice();
const object = {isAudioRouteEnabled: true};
const value3 = undefined;
object.toggleAudio = (require(9239) /* metro dependency 9239: showAudioOutputSelector */).showAudioOutputSelector;
object.routeSource = env1_18[(activeAudioDevice == null ? value3 : activeAudioDevice.simpleDeviceType) ?? (require(9233) /* metro dependency 9233: NativeAudioManagerModule */).AudioDeviceType.INVALID];
return object;
}
}
function _fun72171() { // fn#72171, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:2599, offset: 0x01d3d49d, size: 283 bytes, params: 1, frame: 20
const {isEnabled, isVideoMode,
isBluetoothRoute} = require(dependencyMap[26]).useStateFromStoresObject([ChannelStore, SelectedChannelStore,
ApplicationStreamingStore, VoiceStateStore, MediaEngineStore, AudioRouteStoreNative], _fun72172);
const [property, env0_3] = Module00057(ReactModule.useState(isEnabled), 2);
const value5 = ReactModule.useCallback(_fun72173, [property, isVideoMode]);
ReactModule.useEffect(_fun72174, [isEnabled, isVideoMode]);
return {isAudioRouteEnabled: property, toggleAudio: value5,
routeSource: importDefault(isBluetoothRoute ? dependencyMap[23] : dependencyMap[24])};
function _fun72172() { // fn#72172, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:2659, offset: 0x01d3d5b8, size: 156 bytes, params: 1, frame: 23
let value = environment.__proto__;
const isVideoMode2 = UseIsVideoModeModule.isVideoMode(ChannelStore, SelectedChannelStore, ApplicationStreamingStore,
VoiceStateStore, MediaEngineStore);
value = AudioRouteStoreNative.getCurrentRouteType();
const RouteTypes = (VoiceCallTypesModule).RouteTypes;
const SPEAKER = RouteTypes.SPEAKER;
const value2 = value === SPEAKER;
const BLUETOOTH = RouteTypes.BLUETOOTH;
value = value === BLUETOOTH;
let r3 = value2 || value;
r3 = !r3 ? isVideoMode2 : r3;
return {isEnabled: r3, isVideoMode: isVideoMode2, isBluetoothRoute: value};
}
function _fun72173() { // fn#72173, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:2967, offset: 0x01d3d654, size: 85 bytes, params: 1, frame: 12
const audioRouteStoreNativeBinding = AudioRouteStoreNative;
const getMultipleRoutesAvailable = audioRouteStoreNativeBinding.getMultipleRoutesAvailable;
if (!Reflect.apply(getMultipleRoutesAvailable, audioRouteStoreNativeBinding, [])) {
env1_17.cancel();
if (!isVideoMode) {
env0_3(!env0_2);
}
}
env1_16(!env0_2);
}
function _fun72174() { // fn#72174, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:3054, offset: 0x01d3d6a9, size: 74 bytes, params: 1, frame: 11
const audioRouteStoreNativeBinding = AudioRouteStoreNative;
const getMultipleRoutesAvailable = audioRouteStoreNativeBinding.getMultipleRoutesAvailable;
if (Reflect.apply(getMultipleRoutesAvailable, audioRouteStoreNativeBinding, [])) {
env0_3(isEnabled);
} else if (isVideoMode) {
env0_3(isEnabled);
} else {
env1_17(_fun72175);
}
function _fun72175() { // fn#72175, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:3101, offset: 0x01d3d6f3, size: 20 bytes, params: 1, frame: 11
return env1_3(isEnabled);
}
}
}
function handleToggleSelfDeaf() { // fn#72176, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:3324, offset: 0x01d3d707, size: 37 bytes, params: 1, frame: 11
(AudioActionCreators).toggleSelfDeaf();
}
function handleToggleSelfMute() { // fn#72177, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:3379, offset: 0x01d3d72c, size: 80 bytes, params: 1, frame: 17
const defaultImport = NativePermissionUtils;
const requestPermission = defaultImport.requestPermission;
const AUDIO = NativePermissionTypes.AUDIO;
Reflect.apply(requestPermission, defaultImport, [AUDIO, {showAuthorizationError: true}]);
(AudioActionCreators).toggleSelfMute();
}
function showSuppressedAlert() { // fn#72178, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:3497, offset: 0x01d3d77c, size: 150 bytes, params: 1, frame: 18
const defaultImport = AlertActionCreators;
const show = defaultImport.show;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const t = (IndexNativeModule).t;
const FJSZVM = t.FJSZVM;
Reflect.apply(show, defaultImport, [{title: Reflect.apply(string, intl, [FJSZVM]), body: intl.string(t.etJjgW),
hideActionSheet: false}]);
}
function showServerMuteAlert() { // fn#72179, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:3652, offset: 0x01d3d812, size: 154 bytes, params: 1, frame: 18
const defaultImport = AlertActionCreators;
const show = defaultImport.show;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const t = (IndexNativeModule).t;
Reflect.apply(show, defaultImport, [{title: Reflect.apply(string, intl, [t['+JQCa/']]), body: intl.string(t.hsNm7d),
hideActionSheet: false}]);
}
function showServerDeafenAlert() { // fn#72180, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:3812, offset: 0x01d3d8ac, size: 154 bytes, params: 1, frame: 18
const defaultImport = AlertActionCreators;
const show = defaultImport.show;
const object = {};
const intl = (IndexNativeModule).intl;
let string = intl.string;
const t = (IndexNativeModule).t;
const QZ7WSS = t.QZ7WSS;
object.title = Reflect.apply(string, intl, [QZ7WSS]);
string = intl.string;
const Tl9JpL = t.Tl9JpL;
object.body = Reflect.apply(string, intl, [Tl9JpL]);
object.hideActionSheet = false;
Reflect.apply(show, defaultImport, [object]);
}
function showCameraDisabledAlert() { // fn#72181, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:3971, offset: 0x01d3d946, size: 150 bytes, params: 1, frame: 18
const defaultImport = AlertActionCreators;
const show = defaultImport.show;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const t = (IndexNativeModule).t;
const OYzPcW = t.OYzPcW;
Reflect.apply(show, defaultImport, [{title: Reflect.apply(string, intl, [OYzPcW]), body: intl.string(t.oBH7Y2),
hideActionSheet: false}]);
}
function showScreenshareDisabledAlert() { // fn#72182, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:4135, offset: 0x01d3d9dc, size: 154 bytes, params: 1, frame: 18
const defaultImport = AlertActionCreators;
const show = defaultImport.show;
const object = {};
const intl = (IndexNativeModule).intl;
let string = intl.string;
const t = (IndexNativeModule).t;
object.title = Reflect.apply(string, intl, [t['/x4knx']]);
string = intl.string;
const PpfzUE = t.PpfzUE;
object.body = Reflect.apply(string, intl, [PpfzUE]);
object.hideActionSheet = false;
Reflect.apply(show, defaultImport, [object]);
}
function showMinOSScreenshareRequirementAlert() { // fn#72183, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:4310, offset: 0x01d3da76, size: 305 bytes, params: 1, frame: 22
const value2 = undefined;
const intl = (IndexNativeModule).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (IndexNativeModule).t;
const ejOT95 = t.ejOT95;
const getErrorInfo = AVErrorModule.getErrorInfo;
const AVError = AVErrorModule.AVError;
const SCREENSHARE_OS_NOT_SUPPORTED = AVError.SCREENSHARE_OS_NOT_SUPPORTED;
const value3 = Reflect.apply(getErrorInfo, AVErrorModule, [SCREENSHARE_OS_NOT_SUPPORTED]);
const value4 = Reflect.apply(formatToPlainString, intl, [ejOT95,
{errorCode: value3 == null ? value2 : value3.errorCode}]);
const defaultImport = AlertActionCreators;
const show = defaultImport.show;
object = {};
let string = intl.string;
object.title = Reflect.apply(string, intl, [t.oblMYa]);
string = intl.string;
const Wnhd3q = t.Wnhd3q;
object.body = '' + Reflect.apply(string, intl, [Wnhd3q]) + '\n\n' + value4;
object.hideActionSheet = false;
Reflect.apply(show, defaultImport, [object]);
return value2;
}
function showTabletRequirementAlert() { // fn#72184, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:4656, offset: 0x01d3dba7, size: 154 bytes, params: 1, frame: 18
const defaultImport = AlertActionCreators;
const show = defaultImport.show;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const t = (IndexNativeModule).t;
Reflect.apply(show, defaultImport, [{title: Reflect.apply(string, intl, [t['1N0dxa']]), body: intl.string(t.qqDFVb),
hideActionSheet: false}]);
}
function handleDisconnect(a0) { // fn#72185, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:4811, offset: 0x01d3dc41, size: 77 bytes, params: 2, frame: 14
(KeyboardManagerUtilsModule).dismissGlobalKeyboard();
(PrivateChannelCallUtilsModule).dismissVoiceChannelScreens(a0, _fun72186);
function _fun72186() { // fn#72186, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:4887, offset: 0x01d3dc8e, size: 40 bytes, params: 1, frame: 12
const value = environment.__proto__;
(SelectedChannelActionCreators).selectVoiceChannel(null);
}
}
function getAudioDeviceToDisplayText(a0) { // fn#72187, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:4985, offset: 0x01d3dcb6, size: 364 bytes, params: 2, frame: 18
const object = {};
const intl = (IndexNativeModule).intl;
let string = intl.string;
const t = (IndexNativeModule).t;
const Ouoi6E = t.Ouoi6E;
object.EARPIECE = Reflect.apply(string, intl, [Ouoi6E]);
object.BLUETOOTH_HEADSET = intl.string(t.i6eV3z);
string = intl.string;
const Dluojr = t.Dluojr;
object.WIRED_HEADSET = Reflect.apply(string, intl, [Dluojr]);
object.SPEAKERPHONE = intl.string(t.snEhlu);
object.INVALID = intl.string(t.kCBL6t);
const deviceType = a0.deviceType;
const TYPE_BLE_HEADSET = env0_19.TYPE_BLE_HEADSET;
return deviceType === TYPE_BLE_HEADSET ? intl.string(t.BtXSp9) : object[a0.simpleDeviceType];
}
function useImmediateMaskedSpeakerStates() { // fn#72188, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:5460, offset: 0x01d3de22, size: 309 bytes, params: 1, frame: 20
const currentRouteType = require(dependencyMap[26]).useStateFromStores([AudioRouteStoreNative], function() {
return AudioRouteStoreNative.getCurrentRouteType();
});
const value2 = importDefault(dependencyMap[29])();
const RouteTypes = require(dependencyMap[30]).RouteTypes;
const SPEAKER = RouteTypes.SPEAKER;
const value3 = currentRouteType === SPEAKER;
const BLUETOOTH = RouteTypes.BLUETOOTH;
const value4 = currentRouteType === BLUETOOTH;
let r10 = value3 || value4;
r10 = !r10 ? value2 : r10;
const [property, env0_3] = Module00057(ReactModule.useState(r10), 2);
const value7 = ReactModule.useCallback(_fun72190, [property, value2]);
ReactModule.useEffect(_fun72191, [r10, value2]);
return {isAudioRouteEnabled: property, toggleAudio: value7,
routeSource: importDefault(value4 ? dependencyMap[23] : dependencyMap[24])};
function _fun72190() { // fn#72190, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:5683, offset: 0x01d3df6a, size: 85 bytes, params: 1, frame: 12
const audioRouteStoreNativeBinding = AudioRouteStoreNative;
const getMultipleRoutesAvailable = audioRouteStoreNativeBinding.getMultipleRoutesAvailable;
if (!Reflect.apply(getMultipleRoutesAvailable, audioRouteStoreNativeBinding, [])) {
env1_17.cancel();
if (!env0_0) {
env0_3(!env0_2);
}
}
env1_16(!env0_2);
}
function _fun72191() { // fn#72191, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9413:5770, offset: 0x01b83ce8, size: 20 bytes, params: 1, frame: 11
env0_3(env0_1);
}
}
}
global.__d(_fun72162, 9228, [57, 5, 31, 27, 4492, 1379, 4259, 1934, 4297, 9229, 9232, 4661, 9234, 4496, 1244, 4662,
8899, 9235, 1848, 7709, 4796, 22, 9236, 9237, 9238, 477, 566, 9239, 9233, 9438, 9230,
2]) /* metro module 9228, dependencies: [57, 5, 31, 27, 4492, 1379, 4259, 1934, 4297, 9229, 9232, 4661, 9234, 4496, 1244, 4662, 8899, 9235, 1848, 7709, 4796, 22, 9236, 9237, 9238, 477, 566, 9239, 9233, 9438, 9230, 2] */;