1
1
/*
2
- * Copyright 2023-2024 Google LLC
2
+ * Copyright 2023-2025 Google LLC
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -67,6 +67,7 @@ object Sync {
67
67
inline fun <reified W : FhirSyncWorker > oneTimeSync (
68
68
context : Context ,
69
69
retryConfiguration : RetryConfiguration ? = defaultRetryConfiguration,
70
+ existingWorkPolicy : ExistingWorkPolicy = ExistingWorkPolicy .KEEP ,
70
71
): Flow <CurrentSyncJobStatus > {
71
72
val uniqueWorkName = " ${W ::class .java.name} -oneTimeSync"
72
73
val flow = getWorkerInfo(context, uniqueWorkName)
@@ -75,7 +76,7 @@ object Sync {
75
76
WorkManager .getInstance(context)
76
77
.enqueueUniqueWork(
77
78
uniqueWorkName,
78
- ExistingWorkPolicy . KEEP ,
79
+ existingWorkPolicy ,
79
80
oneTimeWorkRequest,
80
81
)
81
82
return combineSyncStateForOneTimeSync(context, uniqueWorkName, flow)
@@ -95,6 +96,7 @@ object Sync {
95
96
inline fun <reified W : FhirSyncWorker > periodicSync (
96
97
context : Context ,
97
98
periodicSyncConfiguration : PeriodicSyncConfiguration ,
99
+ existingPeriodicWorkPolicy : ExistingPeriodicWorkPolicy = ExistingPeriodicWorkPolicy .KEEP ,
98
100
): Flow <PeriodicSyncJobStatus > {
99
101
val uniqueWorkName = " ${W ::class .java.name} -periodicSync"
100
102
val flow = getWorkerInfo(context, uniqueWorkName)
@@ -103,7 +105,7 @@ object Sync {
103
105
WorkManager .getInstance(context)
104
106
.enqueueUniquePeriodicWork(
105
107
uniqueWorkName,
106
- ExistingPeriodicWorkPolicy . KEEP ,
108
+ existingPeriodicWorkPolicy ,
107
109
periodicWorkRequest,
108
110
)
109
111
return combineSyncStateForPeriodicSync(context, uniqueWorkName, flow)
0 commit comments