diff --git a/app/src/main/java/eu/darken/capod/monitor/core/worker/MonitorWorker.kt b/app/src/main/java/eu/darken/capod/monitor/core/worker/MonitorWorker.kt index d61aff02..91988edc 100644 --- a/app/src/main/java/eu/darken/capod/monitor/core/worker/MonitorWorker.kt +++ b/app/src/main/java/eu/darken/capod/monitor/core/worker/MonitorWorker.kt @@ -5,6 +5,7 @@ import android.bluetooth.BluetoothDevice import android.content.Context import androidx.hilt.work.HiltWorker import androidx.work.CoroutineWorker +import androidx.work.ForegroundInfo import androidx.work.WorkerParameters import dagger.assisted.Assisted import dagger.assisted.AssistedInject @@ -59,10 +60,16 @@ class MonitorWorker @AssistedInject constructor( log(TAG, VERBOSE) { "init(): workerId=$id" } } + override suspend fun getForegroundInfo(): ForegroundInfo { + return monitorNotifications.getForegroundInfo(null) + } + override suspend fun doWork(): Result = try { val start = System.currentTimeMillis() log(TAG, VERBOSE) { "Executing $inputData now (runAttemptCount=$runAttemptCount)" } + setForeground(monitorNotifications.getForegroundInfo(null)) + doDoWork() val duration = System.currentTimeMillis() - start @@ -91,7 +98,6 @@ class MonitorWorker @AssistedInject constructor( val monitorJob = podMonitor.mainDevice .setupCommonEventHandlers(TAG) { "PodMonitor" } - .onStart { setForeground(monitorNotifications.getForegroundInfo(null)) } .distinctUntilChanged() .throttleLatest(1000) .onEach { currentDevice ->