diff --git a/feature/dashboard/src/main/java/com/simprints/feature/dashboard/settings/SettingsViewModel.kt b/feature/dashboard/src/main/java/com/simprints/feature/dashboard/settings/SettingsViewModel.kt index 331b77be0a..e5d5f587b1 100644 --- a/feature/dashboard/src/main/java/com/simprints/feature/dashboard/settings/SettingsViewModel.kt +++ b/feature/dashboard/src/main/java/com/simprints/feature/dashboard/settings/SettingsViewModel.kt @@ -57,6 +57,7 @@ internal class SettingsViewModel @Inject constructor( } fun scheduleConfigUpdate() { + syncOrchestrator.startProjectSync() syncOrchestrator.startDeviceSync() } } diff --git a/feature/dashboard/src/test/java/com/simprints/feature/dashboard/settings/SettingsViewModelTest.kt b/feature/dashboard/src/test/java/com/simprints/feature/dashboard/settings/SettingsViewModelTest.kt index 97b3d0f3db..43bb7e2a77 100644 --- a/feature/dashboard/src/test/java/com/simprints/feature/dashboard/settings/SettingsViewModelTest.kt +++ b/feature/dashboard/src/test/java/com/simprints/feature/dashboard/settings/SettingsViewModelTest.kt @@ -87,6 +87,7 @@ class SettingsViewModelTest { fun `trigger device sync when called`() { viewModel.scheduleConfigUpdate() + verify { syncOrchestrator.startProjectSync() } verify { syncOrchestrator.startDeviceSync() } } diff --git a/infra/sync/src/main/java/com/simprints/infra/sync/SyncOrchestrator.kt b/infra/sync/src/main/java/com/simprints/infra/sync/SyncOrchestrator.kt index 289cd190c0..fe37ac35ab 100644 --- a/infra/sync/src/main/java/com/simprints/infra/sync/SyncOrchestrator.kt +++ b/infra/sync/src/main/java/com/simprints/infra/sync/SyncOrchestrator.kt @@ -5,6 +5,7 @@ interface SyncOrchestrator { suspend fun scheduleBackgroundWork() suspend fun cancelBackgroundWork() + fun startProjectSync() fun startDeviceSync() fun rescheduleEventSync() diff --git a/infra/sync/src/main/java/com/simprints/infra/sync/SyncOrchestratorImpl.kt b/infra/sync/src/main/java/com/simprints/infra/sync/SyncOrchestratorImpl.kt index 16ca187a60..57f0b12af5 100644 --- a/infra/sync/src/main/java/com/simprints/infra/sync/SyncOrchestratorImpl.kt +++ b/infra/sync/src/main/java/com/simprints/infra/sync/SyncOrchestratorImpl.kt @@ -91,6 +91,10 @@ internal class SyncOrchestratorImpl @Inject constructor( stopEventSync() } + override fun startProjectSync() { + workManager.startWorker(SyncConstants.PROJECT_SYNC_WORK_NAME) + } + override fun startDeviceSync() { workManager.startWorker(SyncConstants.DEVICE_SYNC_WORK_NAME_ONE_TIME) }