From b8402a6aa07f9bae4c9be473749eb6771f2869ae Mon Sep 17 00:00:00 2001 From: Simon Njoroge Date: Thu, 6 Feb 2025 16:27:53 +0300 Subject: [PATCH] Set initial sync delay --- engine/src/main/java/com/google/android/fhir/sync/Config.kt | 4 ++++ engine/src/main/java/com/google/android/fhir/sync/Sync.kt | 1 + 2 files changed, 5 insertions(+) diff --git a/engine/src/main/java/com/google/android/fhir/sync/Config.kt b/engine/src/main/java/com/google/android/fhir/sync/Config.kt index 8eaf884162..a5151f9b96 100644 --- a/engine/src/main/java/com/google/android/fhir/sync/Config.kt +++ b/engine/src/main/java/com/google/android/fhir/sync/Config.kt @@ -20,6 +20,7 @@ import androidx.work.BackoffPolicy import androidx.work.Constraints import java.net.URLEncoder import java.util.concurrent.TimeUnit +import java.time.Duration /** * Class that holds what type of resources we need to synchronise and what are the parameters of @@ -62,6 +63,9 @@ class PeriodicSyncConfiguration( /** Configuration for synchronization retry */ val retryConfiguration: RetryConfiguration? = defaultRetryConfiguration, + + /** The initial delay before the first sync is triggered */ + val initialDelay: Duration = Duration.ZERO, ) data class RepeatInterval( 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 3048f5f328..1e23164452 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 @@ -260,6 +260,7 @@ object Sync { periodicSyncConfiguration.repeat.timeUnit, ) .setConstraints(periodicSyncConfiguration.syncConstraints) + .setInitialDelay(periodicSyncConfiguration.initialDelay) periodicSyncConfiguration.retryConfiguration?.let { periodicWorkRequestBuilder.setBackoffCriteria(