82 lines
3.5 KiB
TypeScript
82 lines
3.5 KiB
TypeScript
// Module ID: 5220
|
|
// Function ID: 5221
|
|
// Name: WindowVisibilityVideoManager
|
|
// Dependencies: [5140, 2060, 3, 1102, 584, 5221, 5222, 2]
|
|
|
|
// Module 5220 (WindowVisibilityVideoManager)
|
|
import LoggerDefault from "Logger" /* 3 */;
|
|
import DispatcherDefault from "Dispatcher" /* 584 */;
|
|
import DurationsDefault from "Durations" /* 1102 */;
|
|
import ExternalPipDefault from "ExternalPip" /* 5221 */;
|
|
import WindowVisibilityUtilsDefault from "WindowVisibilityUtils" /* 5222 */;
|
|
import TypedEventEmitter from "TypedEventEmitter" /* 5140 */;
|
|
import size from "module_2" /* 2 */;
|
|
|
|
const require = globalThis.__r;
|
|
let _require;
|
|
|
|
const WindowVisibilityEvent = { WindowVisibilityChanged: "window-visibility-changed", IncomingVideoEnabledChanged: "incoming-video-enabled-changed" };
|
|
class WindowVisibilityVideoManager extends TypedEventEmitter {
|
|
constructor() {
|
|
let discordVisible;
|
|
let tmp;
|
|
const tmp6 = new WindowVisibilityVideoManager(tmp5, tmp4, tmp3, tmp2, tmp);
|
|
_require = tmp6;
|
|
const timeout = new require("Timers").Timeout();
|
|
tmp6.disableVideoTimer = timeout;
|
|
tmp6.discordVisible = true;
|
|
tmp6.incomingVideoEnabled = true;
|
|
tmp6.lastEnabledChange = performance.now();
|
|
tmp6.logger = new LoggerDefault("WindowVisibilityVideoManager");
|
|
new LoggerDefault("WindowVisibilityVideoManager");
|
|
tmp6.HIDDEN_WINDOW_DISABLE_VIDEO_DURATION_MS = 30 * DurationsDefault.Millis.SECOND;
|
|
tmp6.update = function update() {
|
|
let incomingVideoEnabled;
|
|
if (discordVisible.discordVisible !== WindowVisibilityUtilsDefault()) {
|
|
discordVisible.discordVisible = WindowVisibilityUtilsDefault();
|
|
discordVisible.emit(discordVisible.WindowVisibilityChanged, discordVisible.discordVisible);
|
|
const disableVideoTimer = obj.disableVideoTimer;
|
|
if (discordVisible.discordVisible) {
|
|
disableVideoTimer.stop();
|
|
let result = obj.setIncomingVideoEnabled(true);
|
|
} else {
|
|
disableVideoTimer.start(discordVisible.HIDDEN_WINDOW_DISABLE_VIDEO_DURATION_MS, () => {
|
|
const result = incomingVideoEnabled.setIncomingVideoEnabled(false);
|
|
});
|
|
}
|
|
}
|
|
};
|
|
const obj = DispatcherDefault;
|
|
const subscription = obj.subscribe("WINDOW_VISIBILITY_CHANGE", tmp6.update);
|
|
const obj2 = DispatcherDefault;
|
|
const subscription1 = obj2.subscribe("APP_STATE_UPDATE", tmp6.update);
|
|
const obj3 = ExternalPipDefault;
|
|
let result = obj3.addOnPipModeChangedListener(tmp6.update);
|
|
return tmp6;
|
|
}
|
|
isIncomingVideoEnabled() {
|
|
return this.incomingVideoEnabled;
|
|
}
|
|
lastIncomingVideoEnabledChangeTime() {
|
|
return this.lastEnabledChange;
|
|
}
|
|
setIncomingVideoEnabled(incomingVideoEnabled) {
|
|
const self = this;
|
|
this.incomingVideoEnabled = incomingVideoEnabled;
|
|
if (this.incomingVideoEnabled !== incomingVideoEnabled) {
|
|
const logger = self.logger;
|
|
const _HermesInternal = HermesInternal;
|
|
logger.info("Incoming video enabled changed, incomingVideoEnabled = " + self.incomingVideoEnabled);
|
|
const _performance = performance;
|
|
self.lastEnabledChange = performance.now();
|
|
self.emit(obj.IncomingVideoEnabledChanged, self.incomingVideoEnabled);
|
|
}
|
|
}
|
|
}
|
|
const prototype = WindowVisibilityVideoManager.prototype;
|
|
const windowVisibilityVideoManager = new WindowVisibilityVideoManager();
|
|
let result = size.fileFinishedImporting("lib/WindowVisibilityVideoManager.tsx");
|
|
const WindowVisibilityVideoManager_export = windowVisibilityVideoManager;
|
|
|
|
export { WindowVisibilityEvent };
|
|
export { WindowVisibilityVideoManager_export as WindowVisibilityVideoManager };
|