decord/source/stores/PermissionVADStore.tsx

94 lines
3.4 KiB
TypeScript
Raw Normal View History

2026-08-08 06:10:11 +00:00
// Module ID: 13669
// Function ID: 13670
2026-07-29 08:29:29 +00:00
// Name: handleUpdateVADPermission
2026-08-08 06:10:11 +00:00
// Dependencies: [1218, 1372, 4351, 3929, 4375, 4319, 676, 709, 589, 2]
2026-07-20 16:05:17 +00:00
2026-08-08 06:10:11 +00:00
// Module 13669 (handleUpdateVADPermission)
2026-07-29 08:29:29 +00:00
import fetchFingerprint from "fetchFingerprint";
import ensureGuildLoaded from "ensureGuildLoaded";
import _detectH265HardwareDecode from "_detectH265HardwareDecode";
import getUncachedChannelPermissions from "getUncachedChannelPermissions";
import createRTCConnection from "createRTCConnection";
import updateVoiceState from "updateVoiceState";
2026-07-23 10:11:24 +00:00
import ME from "ME";
2026-07-29 08:29:29 +00:00
import { Store } from "initialize";
2026-07-23 10:11:24 +00:00
2026-07-29 08:29:29 +00:00
let c9;
let metroImportAll;
2026-07-20 16:05:17 +00:00
function handleUpdateVADPermission() {
2026-07-23 10:11:24 +00:00
channelId = channelId.getChannelId();
2026-07-20 16:05:17 +00:00
let flag = true;
if (null != channelId) {
2026-07-23 10:11:24 +00:00
channel = channel.getChannel(channelId);
2026-07-20 16:05:17 +00:00
let guildId;
2026-07-29 08:29:29 +00:00
if (channel != null) {
2026-07-20 16:05:17 +00:00
guildId = channel.getGuildId();
}
2026-07-23 10:11:24 +00:00
voiceState = voiceState.getVoiceState(guildId, id.getId());
2026-07-20 16:05:17 +00:00
let canResult = mode.getMode() !== constants.VOICE_ACTIVITY || null == channel || channel.isPrivate() || channel.isGuildStageVoice();
if (!canResult) {
2026-07-29 08:29:29 +00:00
canResult = getUncachedChannelPermissions.can(constants2.USE_VAD, channel);
2026-07-20 16:05:17 +00:00
}
if (!canResult) {
canResult = null == voiceState || voiceState.suppress || null != voiceState.requestToSpeakTimestamp;
const tmp12 = null == voiceState || voiceState.suppress || null != voiceState.requestToSpeakTimestamp;
}
flag = canResult;
}
2026-07-23 10:11:24 +00:00
let flag2 = flag !== flag;
2026-07-20 16:05:17 +00:00
if (flag2) {
2026-07-29 08:29:29 +00:00
const obj = { type: "SET_VAD_PERMISSION", hasPermission: null };
obj[1] = flag;
importDefault(709).dispatch(obj);
2026-07-20 16:05:17 +00:00
flag2 = true;
2026-07-29 08:29:29 +00:00
const obj2 = importDefault(709);
2026-07-20 16:05:17 +00:00
}
return flag2;
}
2026-07-29 08:29:29 +00:00
({ InputModes: metroImportAll, Permissions: c9 } = ME);
let c10 = true;
let c11 = true;
class PermissionVADStore extends Store {
}
const prototype = PermissionVADStore.prototype;
prototype["initialize"] = function initialize() {
this.waitFor(fetchFingerprint, ensureGuildLoaded, _detectH265HardwareDecode, getUncachedChannelPermissions, createRTCConnection, updateVoiceState);
};
prototype["shouldShowWarning"] = function shouldShowWarning() {
return !c11;
};
prototype["canUseVoiceActivity"] = function canUseVoiceActivity() {
return c10;
};
PermissionVADStore.displayName = "PermissionVADStore";
const permissionVADStore = new PermissionVADStore(require("dispatcher"), {
2026-07-20 16:05:17 +00:00
RTC_CONNECTION_STATE: handleUpdateVADPermission,
MEDIA_ENGINE_SET_AUDIO_ENABLED: handleUpdateVADPermission,
AUDIO_SET_MODE: handleUpdateVADPermission,
CHANNEL_UPDATES: handleUpdateVADPermission,
THREAD_UPDATE: handleUpdateVADPermission,
GUILD_ROLE_UPDATE: handleUpdateVADPermission,
GUILD_MEMBER_UPDATE: handleUpdateVADPermission,
IMPERSONATE_UPDATE: handleUpdateVADPermission,
IMPERSONATE_STOP: handleUpdateVADPermission,
VOICE_STATE_UPDATES: function handleVoiceStateUpdates(voiceStates) {
voiceStates = voiceStates.voiceStates;
return voiceStates.some((userId) => {
2026-07-29 08:29:29 +00:00
let tmp = userId.userId === id.getId();
2026-07-20 16:05:17 +00:00
if (tmp) {
2026-07-29 08:29:29 +00:00
tmp = callback();
2026-07-20 16:05:17 +00:00
}
return tmp;
});
},
AUDIO_TOGGLE_SELF_MUTE: function handleUnclearWarning() {
2026-07-29 08:29:29 +00:00
let closure_11 = c10;
2026-07-20 16:05:17 +00:00
},
PERMISSION_CLEAR_VAD_WARNING: function handleClearWarning() {
2026-07-29 08:29:29 +00:00
let c11 = true;
2026-07-20 16:05:17 +00:00
}
});
2026-07-29 08:29:29 +00:00
const result = require("_detectH265HardwareDecode").fileFinishedImporting("stores/PermissionVADStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default permissionVADStore;