diff --git a/android/app/src/main/kotlin/com/traccar/traccar_client/location/HeartbeatScheduler.kt b/android/app/src/main/kotlin/com/traccar/traccar_client/location/HeartbeatScheduler.kt index aa5bd30..579b4e4 100644 --- a/android/app/src/main/kotlin/com/traccar/traccar_client/location/HeartbeatScheduler.kt +++ b/android/app/src/main/kotlin/com/traccar/traccar_client/location/HeartbeatScheduler.kt @@ -15,6 +15,7 @@ class HeartbeatScheduler(private val context: Context) { private val workManager = WorkManager.getInstance(context) fun scheduleHeartbeat(intervalSeconds: Long, onHeartbeat: () -> Unit) { + onHeartbeatCallback = onHeartbeat val constraints = Constraints.Builder() .setRequiredNetworkType(NetworkType.NOT_REQUIRED) .build() @@ -42,11 +43,13 @@ class HeartbeatScheduler(private val context: Context) { params: WorkerParameters ) : Worker(context, params) { override fun doWork(): Result { + onHeartbeatCallback?.invoke() return Result.success() } } companion object { + var onHeartbeatCallback: (() -> Unit)? = null const val HEARTBEAT_WORK_TAG = "traccar_heartbeat" const val HEARTBEAT_WORK_NAME = "traccar_heartbeat_work" }