From d128a26fec6782de7af618996ad3743c281e9615 Mon Sep 17 00:00:00 2001 From: Cesar Gonzalez Date: Sat, 11 May 2024 20:34:46 -0500 Subject: [PATCH] [PM-6426] Implementing foreground and background task scheduler services to avoid duplication of task scheudlers and to have the background setup as a fallback to the poopup tasks --- .../background-task-scheduler.service.ts | 24 ------------------- .../foreground-task-scheduler.service.ts | 20 ---------------- 2 files changed, 44 deletions(-) diff --git a/apps/browser/src/platform/services/task-scheduler/background-task-scheduler.service.ts b/apps/browser/src/platform/services/task-scheduler/background-task-scheduler.service.ts index 5457b9e07c..3768b1b29e 100644 --- a/apps/browser/src/platform/services/task-scheduler/background-task-scheduler.service.ts +++ b/apps/browser/src/platform/services/task-scheduler/background-task-scheduler.service.ts @@ -19,21 +19,6 @@ export class BackgroundTaskSchedulerService extends BrowserTaskSchedulerServiceI BrowserApi.addListener(chrome.runtime.onConnect, this.handlePortOnConnect); } - /** - * Clears a scheduled alarm and sends a message to all ports to clear the alarm. - * - * @param alarmName - The name of the alarm. - */ - async clearScheduledAlarm(alarmName: string): Promise { - void super.clearScheduledAlarm(alarmName); - const taskName = this.getTaskFromAlarmName(alarmName); - this.sendMessageToPorts({ - action: BrowserTaskSchedulerPortActions.clearAlarm, - taskName, - alarmName, - }); - } - /** * Handles a port connection made from the foreground task scheduler. * @@ -84,13 +69,4 @@ export class BackgroundTaskSchedulerService extends BrowserTaskSchedulerServiceI return; } }; - - /** - * Sends a message to all ports. - * - * @param message - The message to send. - */ - private sendMessageToPorts(message: BrowserTaskSchedulerPortMessage) { - this.ports.forEach((port) => port.postMessage(message)); - } } diff --git a/apps/browser/src/platform/services/task-scheduler/foreground-task-scheduler.service.ts b/apps/browser/src/platform/services/task-scheduler/foreground-task-scheduler.service.ts index 5064787792..3e4ff73b1d 100644 --- a/apps/browser/src/platform/services/task-scheduler/foreground-task-scheduler.service.ts +++ b/apps/browser/src/platform/services/task-scheduler/foreground-task-scheduler.service.ts @@ -19,7 +19,6 @@ export class ForegroundTaskSchedulerService extends BrowserTaskSchedulerServiceI super(logService, stateProvider); this.port = chrome.runtime.connect({ name: BrowserTaskSchedulerPortName }); - this.port.onMessage.addListener(this.handlePortMessage); } /** @@ -61,25 +60,6 @@ export class ForegroundTaskSchedulerService extends BrowserTaskSchedulerServiceI return super.setInterval(taskName, intervalInMs, initialDelayInMs); } - /** - * Handles port messages from the background task scheduler. - * - * @param message - The message that indicates we should clear an alarm. - * @param port - The port that the message was received on. - */ - private handlePortMessage = ( - message: BrowserTaskSchedulerPortMessage, - port: chrome.runtime.Port, - ) => { - if (port.name !== BrowserTaskSchedulerPortName) { - return; - } - - if (message.action === BrowserTaskSchedulerPortActions.clearAlarm) { - void super.clearScheduledAlarm(message.alarmName); - } - }; - /** * Sends a message to the background task scheduler. *