From 89d90a68a9bffa22aad1ea24e0e09c58d6d33363 Mon Sep 17 00:00:00 2001 From: Daniel Schaal Date: Fri, 23 Jul 2021 06:49:27 +0200 Subject: Make sync Worker unique, keep existing job --- app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt b/app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt index 8380fb41..90d989b8 100644 --- a/app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt +++ b/app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt @@ -12,13 +12,14 @@ class SyncWorker(context: Context, workerParams: WorkerParameters) : CoroutineWo companion object { const val KEY_SYNC_TYPE = "KEY_SYNC_TYPE" const val KEY_EXCEPTION = "KEY_EXCEPTION" + const val WORK_ID = "WORK_ID_SYNC" fun sync(context: Context, syncType: SyncType): LiveData { val workManager = WorkManager.getInstance(context) val syncWork = OneTimeWorkRequestBuilder() .setInputData(workDataOf(KEY_SYNC_TYPE to syncType.action)) .build() - workManager.enqueue(syncWork) + workManager.enqueueUniqueWork(WORK_ID, ExistingWorkPolicy.KEEP, syncWork) return workManager.getWorkInfoByIdLiveData(syncWork.id) } } -- cgit v1.2.3