@@ -193,32 +193,41 @@ class HealthConnectSync(private var healthConnectClient: HealthConnectClient) :
193193 private fun buildMetadata (measurement : OpenScaleMeasurement , type : String ): Metadata {
194194 return Metadata .manualEntry(
195195 clientRecordId = measurement.id.toString() + " _" + type,
196- clientRecordVersion = Instant .now().toEpochMilli()
196+ clientRecordVersion = measurement.date.time
197197 )
198198 }
199199
200200 private fun buildWeightRecord (measurement : OpenScaleMeasurement ): WeightRecord {
201+ val measurementInstant = measurement.date.toInstant()
202+ val zoneOffset = ZoneId .systemDefault().rules.getOffset(measurementInstant)
203+
201204 return WeightRecord (
202- time = measurement.date.toInstant() ,
203- zoneOffset = null ,
205+ time = measurementInstant ,
206+ zoneOffset = zoneOffset ,
204207 weight = Mass .kilograms(measurement.weight.toDouble()),
205208 metadata = buildMetadata(measurement, " weight" )
206209 )
207210 }
208211
209212 private fun buildWaterRecord (measurement : OpenScaleMeasurement ): BodyWaterMassRecord {
213+ val measurementInstant = measurement.date.toInstant()
214+ val zoneOffset = ZoneId .systemDefault().rules.getOffset(measurementInstant)
215+
210216 return BodyWaterMassRecord (
211- time = measurement.date.toInstant() ,
212- zoneOffset = null ,
217+ time = measurementInstant ,
218+ zoneOffset = zoneOffset ,
213219 mass = Mass .kilograms(measurement.weight.toDouble() * measurement.water.toDouble() / 100 ),
214220 metadata = buildMetadata(measurement, " water" )
215221 )
216222 }
217223
218224 private fun buildFatRecord (measurement : OpenScaleMeasurement ): BodyFatRecord {
225+ val measurementInstant = measurement.date.toInstant()
226+ val zoneOffset = ZoneId .systemDefault().rules.getOffset(measurementInstant)
227+
219228 return BodyFatRecord (
220- time = measurement.date.toInstant() ,
221- zoneOffset = null ,
229+ time = measurementInstant ,
230+ zoneOffset = zoneOffset ,
222231 percentage = Percentage (measurement.fat.toDouble()),
223232 metadata = buildMetadata(measurement, " fat" )
224233 )
0 commit comments