mirror of
https://github.com/finos/SymphonyElectron.git
synced 2025-02-25 18:55:29 -06:00
SDA-1549 - Prevent multiple intervals for activity detection (#792)
This commit is contained in:
parent
627ea097e1
commit
85e61b8c60
@ -9,6 +9,7 @@ class ActivityDetection {
|
||||
private idleThreshold: number;
|
||||
private window: Electron.WebContents | null;
|
||||
private timer: Timer | undefined;
|
||||
private queryInterval: NodeJS.Timer | undefined;
|
||||
|
||||
constructor() {
|
||||
this.idleThreshold = 60 * 60 * 1000;
|
||||
@ -24,6 +25,9 @@ class ActivityDetection {
|
||||
public setWindowAndThreshold(window: Electron.WebContents, idleThreshold: number): void {
|
||||
this.window = window;
|
||||
this.idleThreshold = idleThreshold;
|
||||
if (this.queryInterval) {
|
||||
clearInterval(this.queryInterval);
|
||||
}
|
||||
this.startActivityMonitor();
|
||||
logger.info(`activity-detection: Initialized activity detection with an idleThreshold of ${idleThreshold}`);
|
||||
}
|
||||
@ -34,7 +38,7 @@ class ActivityDetection {
|
||||
private startActivityMonitor(): void {
|
||||
if (app.isReady()) {
|
||||
logger.info(`activity-detection: Starting activity monitor`);
|
||||
setInterval(() => (electron.powerMonitor as any).querySystemIdleTime(this.activity.bind(this)), this.idleThreshold);
|
||||
this.queryInterval = setInterval(() => (electron.powerMonitor as any).querySystemIdleTime(this.activity.bind(this)), this.idleThreshold);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user