decord/source/modules/voice_calls/native/AudioSessionModeManager.tsx

86 lines
3.3 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 16624
// Function ID: 16625
2026-07-29 08:29:29 +00:00
// Name: handleAVAudioSessionMode
2026-08-24 06:08:38 +00:00
// Dependencies: [17, 1390, 4995, 4658, 1218, 1391, 4501, 1980, 4547, 7421, 676, 500, 16625, 5043, 2]
2026-07-20 16:05:17 +00:00
2026-08-24 06:08:38 +00:00
// Module 16624 (handleAVAudioSessionMode)
import initializeDefault from "initialize" /* 5043 */;
import handleVoiceChannelSelect from "handleVoiceChannelSelect" /* 16625 */;
import closure_2 from "participantFromServer" /* 1390 */;
import closure_3 from "buildStageChannelUserRoles" /* 4995 */;
import closure_4 from "reset" /* 4658 */;
import closure_5 from "fetchFingerprint" /* 1218 */;
import closure_6 from "ensureGuildLoaded" /* 1391 */;
import closure_7 from "_detectH265HardwareDecode" /* 4501 */;
import closure_8 from "handleConnectionOpen" /* 1980 */;
import closure_9 from "updateVoiceState" /* 4547 */;
import closure_10 from "getState" /* 7421 */;
import { AppStates } from "ME" /* 676 */;
import set from "set" /* 500 */;
2026-07-23 10:11:24 +00:00
2026-08-24 06:08:38 +00:00
require = arg1;
2026-07-20 16:05:17 +00:00
function handleAVAudioSessionMode() {
2026-07-23 10:11:24 +00:00
channel = channel.getChannel(voiceChannelId.getVoiceChannelId());
2026-07-20 16:05:17 +00:00
if (null == channel) {
let VIDEO = VoiceEngine.AVAudioSessionMode.DEFAULT;
2026-07-29 08:29:29 +00:00
let obj2 = VoiceEngine;
2026-07-20 16:05:17 +00:00
} else {
let hasVideoResult = allActiveStreams.getAllActiveStreams().length > 0;
if (!hasVideoResult) {
2026-08-24 06:08:38 +00:00
hasVideoResult = closure_9.hasVideo(channel.id);
2026-07-20 16:05:17 +00:00
}
if (!hasVideoResult) {
hasVideoResult = videoEnabled.isVideoEnabled();
}
if (!hasVideoResult) {
if (null == currentEmbeddedActivity.getCurrentEmbeddedActivity()) {
const AVAudioSessionMode = VoiceEngine.AVAudioSessionMode;
2026-07-29 08:29:29 +00:00
if (obj.shouldImmediatelyRequestVoicePermissions(id.getId(), channel.id)) {
VIDEO = AVAudioSessionMode.VOICE;
obj2 = tmp9;
} else {
VIDEO = AVAudioSessionMode.LISTEN;
obj2 = tmp9;
}
2026-08-24 06:08:38 +00:00
obj = handleVoiceChannelSelect;
2026-07-20 16:05:17 +00:00
}
}
VIDEO = VoiceEngine.AVAudioSessionMode.VIDEO;
2026-07-29 08:29:29 +00:00
obj2 = VoiceEngine;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let tmp12 = VIDEO !== VIDEO;
2026-07-20 16:05:17 +00:00
if (tmp12) {
tmp12 = state.getState() === AppStates.ACTIVE;
}
if (tmp12) {
2026-07-29 08:29:29 +00:00
const result = obj2.setAVAudioSessionMode(VIDEO);
2026-07-20 16:05:17 +00:00
}
}
2026-07-23 10:11:24 +00:00
if (set.isAndroid()) {
2026-07-29 08:29:29 +00:00
set = { setAVAudioSessionMode: null, AVAudioSessionMode: null };
set[0] = function setAVAudioSessionMode(VIDEO) {
2026-07-20 16:05:17 +00:00
};
2026-07-29 08:29:29 +00:00
set[1] = { VOICE: "AVAudioSessionModeVoiceChat", VIDEO: "AVAudioSessionModeVideoChat", LISTEN: "AVAudioSessionModeSpokenAudio", DEFAULT: "AVAudioSessionModeDefault" };
2026-07-23 10:11:24 +00:00
let VoiceEngine = set;
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
VoiceEngine = require("get ActivityIndicator").NativeModules.VoiceEngine;
2026-07-20 16:05:17 +00:00
}
const VOICE = VoiceEngine.AVAudioSessionMode.VOICE;
2026-08-24 06:08:38 +00:00
initializeDefault;
2026-07-29 08:29:29 +00:00
let prototype = function AudioSessionModeManager() {
const applyArgumentsResult = HermesBuiltin.applyArguments(new.target, new.target);
2026-08-24 06:08:38 +00:00
const result = new Map().set(closure_4, handleAVAudioSessionMode);
const result1 = result.set(closure_9, handleAVAudioSessionMode);
const result2 = result1.set(closure_7, handleAVAudioSessionMode);
const result3 = result2.set(closure_3, handleAVAudioSessionMode);
applyArgumentsResult.stores = result3.set(closure_2, handleAVAudioSessionMode);
2026-07-29 08:29:29 +00:00
return applyArgumentsResult;
}.prototype;
class prototype extends tmp2 {
}
prototype = new prototype();
2026-07-23 10:11:24 +00:00
let result = set.fileFinishedImporting("modules/voice_calls/native/AudioSessionModeManager.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default prototype;