Files
discord-decomp/modules/holidays/HolidayEventsManager.tsx
T
2026-11-01 12:12:55 +02:00

65 lines
2.3 KiB
TypeScript

// Metro module 16207 (f16208).
import ApexExperimentStore from "../experiments/apex/ApexExperimentStore";
import SoundpackStore from "../soundpacks/SoundpackStore";
import { Soundpacks } from "../soundpacks/Constants";
import AutomaticLifecycleManager from "../../lib/AutomaticLifecycleManager";
import HolidayEventsConfig from "./HolidayEventsConfig";
import HolidayEventsUtils from "./HolidayEventsUtils";
import { setSoundpack } from "../soundpacks/SoundpackActions";
import { setIncomingRingtone } from "./setIncomingRingtone.android";
import getSoundsForPack from "../soundpacks/getSoundsForPack";
class HolidayEventsManager extends AutomaticLifecycleManager {
stores = new Map().set(ApexExperimentStore, () => this.handleExperimentUpdated());
actions = {
NOTIFICATIONS_SET_DISABLED_SOUNDS: this.updateRingtone
};
handleExperimentUpdated = () => {
if (!HolidayEventsConfig.isDesktopOnly) {
this.updateSoundpack();
this.updateRingtone();
}
};
updateSoundpack() {
let r21;
const soundpack = SoundpackStore.getSoundpack();
const lastSoundpackExperimentId = SoundpackStore.getLastSoundpackExperimentId();
const r6 = HolidayEventsConfig.experiment == null ? void 0 : HolidayEventsConfig.experiment.definition.name;
L14: {
L6: {
r21 = HolidayEventsUtils.isEligible();
if (!r21) {
if (lastSoundpackExperimentId == null && soundpack === Soundpacks.CLASSIC) {
break L6;
}
setSoundpack(Soundpacks.CLASSIC, null);
break L14;
}
}
if (r21) {
r21 = HolidayEventsConfig.soundpack != null;
}
if (r21) {
r21 = r6 !== lastSoundpackExperimentId;
}
if (r21) {
r21 = soundpack !== HolidayEventsConfig.soundpack;
}
if (r21) {
setSoundpack(HolidayEventsConfig.soundpack, r6);
}
}
}
updateRingtone() {
if (HolidayEventsUtils.isEligible()) {
const soundsForPack = getSoundsForPack(SoundpackStore.getSoundpack());
if (soundsForPack.call_ringing != null) {
setIncomingRingtone("call_ringing", soundsForPack.call_ringing + ".mp3");
}
} else {
setIncomingRingtone("call_ringing", "call_ringing.mp3");
}
}
}
const holidayEventsManager = new HolidayEventsManager();
export default holidayEventsManager;