Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/schaal/ocreader.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schaal <daniel@schaal.email>2021-07-23 07:49:27 +0300
committerDaniel Schaal <daniel@schaal.email>2021-07-25 10:10:47 +0300
commit89d90a68a9bffa22aad1ea24e0e09c58d6d33363 (patch)
treec886c50a47e81579e59a0b135d2fb4f056745d63
parent10f0175569af2fa366e3bf66362d9b99993372aa (diff)
Make sync Worker unique, keep existing job
-rw-r--r--app/src/main/java/email/schaal/ocreader/service/SyncWorker.kt3
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)
}
}