diff options
author | Daniel Schaal <daniel@schaal.email> | 2021-07-23 07:49:27 +0300 |
---|---|---|
committer | Daniel Schaal <daniel@schaal.email> | 2021-07-25 10:10:47 +0300 |
commit | 89d90a68a9bffa22aad1ea24e0e09c58d6d33363 (patch) | |
tree | c886c50a47e81579e59a0b135d2fb4f056745d63 | |
parent | 10f0175569af2fa366e3bf66362d9b99993372aa (diff) |
Make sync Worker unique, keep existing job
-rw-r--r-- | app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt | 3 |
1 files changed, 2 insertions, 1 deletions
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<WorkInfo> { val workManager = WorkManager.getInstance(context) val syncWork = OneTimeWorkRequestBuilder<SyncWorker>() .setInputData(workDataOf(KEY_SYNC_TYPE to syncType.action)) .build() - workManager.enqueue(syncWork) + workManager.enqueueUniqueWork(WORK_ID, ExistingWorkPolicy.KEEP, syncWork) return workManager.getWorkInfoByIdLiveData(syncWork.id) } } |