createHeartRateVariability method

  1. @override
HealthConnectHeartRateVariabilityRmssd createHeartRateVariability(
  1. Map<String, dynamic> data
)
override

Creates a HealthConnectHeartRateVariabilityRmssd object from JSON map data. Extracts heart rate variability, time details and metadata.

Implementation

@override
HealthConnectHeartRateVariabilityRmssd createHeartRateVariability(
  Map<String, dynamic> data,
) {
  var errMsg =
      "Error occured when extracting data for health connect heart rate variability";
  var time = converter.extractDateTimeFromEpochMs(data["timeEpochMs"], errMsg);
  var zoneOffset =
      data["zoneOffsetSeconds"] != null
          ? converter.extractIntValue(data["zoneOffsetSeconds"], errMsg)
          : null;
  var heartRateVariabilityMillis = converter.extractDoubleValue(
    data["heartRateVariabilityMillis"],
    errMsg,
  );

  var metadataMap = converter.extractJsonObject(data["metadata"], errMsg);
  var metadata = _extractMetaData(metadataMap, errMsg);

  return HealthConnectHeartRateVariabilityRmssd(
    time: time,
    zoneOffset: zoneOffset,
    heartRateVariabilityMillis: heartRateVariabilityMillis,
    metadata: metadata,
  );
}