// Metro module 4733 (f4734). import { NativePermissionTypes } from "./NativePermissionConstants"; import { InputModes } from "../../Constants"; import LifecycleManager from "../../lib/LifecycleManager"; import { isDesktop, isMac } from "../../utils/PlatformUtils"; import { ProcessArgs } from "../../utils/ProcessArgs"; import Dispatcher from "../../Dispatcher"; import * as _NativePermissionUtils from "./NativePermissionUtils"; class NativePermissionManager extends LifecycleManager { isEnabled() { return isDesktop() && isMac() && !ProcessArgs.isDiscordTestSet(); } _initialize() { if (this.isEnabled()) { Dispatcher.subscribe("AUDIO_SET_MODE", this.handleAudioSetMode); } } _terminate() { if (this.isEnabled()) { Dispatcher.unsubscribe("AUDIO_SET_MODE", this.handleAudioSetMode); } } handleAudioSetMode(a0) { if (a0.mode === InputModes.PUSH_TO_TALK) { _NativePermissionUtils.default.requestPermission(NativePermissionTypes.INPUT_MONITORING); } } } const nativePermissionManager = new NativePermissionManager(); export default nativePermissionManager;