diff --git a/src/components/utlis/PermissionUtils.ts b/src/components/utlis/PermissionUtils.ts index 47c55663..e91b5bd6 100644 --- a/src/components/utlis/PermissionUtils.ts +++ b/src/components/utlis/PermissionUtils.ts @@ -35,10 +35,9 @@ export const getPermissionsToRequest = async () => { if (!notificationStatus) { permissionsToRequest.push(permission); } else { - const fgsTasks = CosmosForegroundService.getFgsTasks(); const isFGSRunning = await CosmosForegroundService.isRunning(); - if (fgsTasks.length && !isFGSRunning) { - CosmosForegroundService.start(fgsTasks); + if (!isFGSRunning) { + CosmosForegroundService.start(); } if (!isNotificationPermissionEnabled) { CosmosForegroundService.update(); diff --git a/src/services/foregroundServices/foreground.service.ts b/src/services/foregroundServices/foreground.service.ts index 12cb85df..f40965ba 100644 --- a/src/services/foregroundServices/foreground.service.ts +++ b/src/services/foregroundServices/foreground.service.ts @@ -33,17 +33,18 @@ class CosmosForegroundService { private constructor() {} - public static getFgsTasks() { - return CosmosForegroundService.fgsTasks; - } - - static async start(tasks: IForegroundTask[]) { + static async start(tasks?: IForegroundTask[]) { if (GLOBAL.IS_IMPERSONATED) { return; } - CosmosForegroundService.fgsTasks = tasks; + if (!tasks && !this.fgsTasks.length) { + return; + } + if (tasks?.length) { + this.fgsTasks = tasks; + } try { - for (const currentTask of tasks) { + for (const currentTask of this.fgsTasks) { if (!ForegroundService.is_running() || !ForegroundService.get_task(currentTask.taskId)) { if (!ForegroundService.is_running()) { //@ts-expect-error @@ -62,6 +63,9 @@ class CosmosForegroundService { if (GLOBAL.IS_IMPERSONATED) { return; } + if (!this.fgsTasks.length) { + return; + } //@ts-expect-error ForegroundService.update(FOREGROUND_SERVICE_CONFIG); }