recordActiveMeasurement method

Future<void> recordActiveMeasurement(
  1. int seconds,
  2. String activeId,
  3. String userId
)

Implementation

Future<void> recordActiveMeasurement(
    int seconds, String activeId, String userId) async {
  if (seconds > 0 && activeId != "" && userId != "") {
    dart_blocks.UserRequest req = dart_blocks.UserRequest();
    dart_blocks.ActiveMeasurement _activeMeasurement =
        dart_blocks.ActiveMeasurement();
    _activeMeasurement.seconds = seconds;
    _activeMeasurement.id = activeId;
    _activeMeasurement.userId = userId;
    dart_blocks.Location _location = dart_blocks.Location();
    if (_placemark != null || await _determinePlacemark() != null) {
      _location.countryCode = _placemark!.isoCountryCode ?? "";
      _location.country = _placemark!.country ?? "";
      _location.city = _placemark!.locality ?? "";
      _activeMeasurement.from = _location;
    }
    req.activeMeasurement = _activeMeasurement;
    req.cloudToken = await _authorize.getAccessToken();
    if (debug == true) {
      print("sending previous user session with activeness: " +
          (seconds.toString()).toString() +
          "s");
    }
    req.encryptionKey = _encryptionKey ?? "";
    await _grpcUserClient.recordActiveMeasurement(req);
    if (debug == true) {
      print("done sending data...");
    }
    return;
  }
}