fix schedule

This commit is contained in:
ticaki
2024-01-08 21:55:53 +01:00
parent 6460f5f4ff
commit 2621b22ffd

View File

@@ -1021,13 +1021,13 @@ let scheduleInitDimModeDay: any;
let scheduleInitDimModeNight: any; let scheduleInitDimModeNight: any;
onStop (function scriptStop () { onStop (function scriptStop () {
if (scheduleSendTime!=null) clearSchedule(scheduleSendTime); if (scheduleSendTime!=null) _clearSchedule(scheduleSendTime);
if (scheduleSendDate!=null) clearSchedule(scheduleSendDate); if (scheduleSendDate!=null) _clearSchedule(scheduleSendDate);
if (scheduleSwichScreensaver!=null) clearSchedule(scheduleSwichScreensaver); if (scheduleSwichScreensaver!=null) _clearSchedule(scheduleSwichScreensaver);
if (scheduleStartup!=null) clearSchedule(scheduleStartup); if (scheduleStartup!=null) _clearSchedule(scheduleStartup);
if (scheduleCheckUpdates!=null) clearSchedule(scheduleCheckUpdates); if (scheduleCheckUpdates!=null) _clearSchedule(scheduleCheckUpdates);
if (scheduleInitDimModeDay!=null) clearSchedule(scheduleInitDimModeDay); if (scheduleInitDimModeDay!=null) _clearSchedule(scheduleInitDimModeDay);
if (scheduleInitDimModeNight!=null) clearSchedule(scheduleInitDimModeNight); if (scheduleInitDimModeNight!=null) _clearSchedule(scheduleInitDimModeNight);
UnsubscribeWatcher(); UnsubscribeWatcher();
}, 1000); }, 1000);
@@ -9680,13 +9680,13 @@ type PageAlarm = NSPanel.PageAlarm;
function adapterSchedule(time: {hour?: number, minute?: number} | undefined | number, repeatTime: number, callback: () => void): number|null { function adapterSchedule(time: {hour?: number, minute?: number} | undefined | number, repeatTime: number, callback: () => void): number|null {
if (typeof callback !== 'function') return null if (typeof callback !== 'function') return null
const ref = Math.random() + 1; const ref = Math.random() + 1;
scheduleList[ref] = setTimeout(_schedule, 1, time, ref, repeatTime, callback); scheduleList[ref] = setTimeout(_schedule, 1, time, ref, repeatTime, callback), true;
return ref; return ref;
} }
function _schedule(time: {hour?: number, minute?: number} | undefined | number, ref: number, repeatTime, callback) { function _schedule(time: {hour?: number, minute?: number} | undefined | number, ref: number, repeatTime, callback, init: boolean = false) {
if (!scheduleList[ref]) return; if (!scheduleList[ref]) return;
callback(); if (!init) callback();
let targetTime: number; let targetTime: number;
if ( time === undefined) { if ( time === undefined) {
targetTime = new Date().setMilliseconds(0) + repeatTime * 1000; targetTime = new Date().setMilliseconds(0) + repeatTime * 1000;