diff --git a/engine/src/main/java/com/google/android/fhir/sync/Sync.kt b/engine/src/main/java/com/google/android/fhir/sync/Sync.kt index e4a3615605..c54a39685a 100644 --- a/engine/src/main/java/com/google/android/fhir/sync/Sync.kt +++ b/engine/src/main/java/com/google/android/fhir/sync/Sync.kt @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 Google LLC + * Copyright 2023-2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -67,6 +67,7 @@ object Sync { inline fun oneTimeSync( context: Context, retryConfiguration: RetryConfiguration? = defaultRetryConfiguration, + existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.KEEP, ): Flow { val uniqueWorkName = "${W::class.java.name}-oneTimeSync" val flow = getWorkerInfo(context, uniqueWorkName) @@ -75,7 +76,7 @@ object Sync { WorkManager.getInstance(context) .enqueueUniqueWork( uniqueWorkName, - ExistingWorkPolicy.KEEP, + existingWorkPolicy, oneTimeWorkRequest, ) return combineSyncStateForOneTimeSync(context, uniqueWorkName, flow) @@ -95,6 +96,7 @@ object Sync { inline fun periodicSync( context: Context, periodicSyncConfiguration: PeriodicSyncConfiguration, + existingPeriodicWorkPolicy: ExistingPeriodicWorkPolicy = ExistingPeriodicWorkPolicy.KEEP, ): Flow { val uniqueWorkName = "${W::class.java.name}-periodicSync" val flow = getWorkerInfo(context, uniqueWorkName) @@ -103,7 +105,7 @@ object Sync { WorkManager.getInstance(context) .enqueueUniquePeriodicWork( uniqueWorkName, - ExistingPeriodicWorkPolicy.KEEP, + existingPeriodicWorkPolicy, periodicWorkRequest, ) return combineSyncStateForPeriodicSync(context, uniqueWorkName, flow)