getDrivingBehaviourScore function

Future<DrivingBehaviourScore?> getDrivingBehaviourScore(
  1. DateTime startTime,
  2. DateTime endTime,
  3. KruzrPerioicType kruzrPeriodicType
)

Implementation

Future<DrivingBehaviourScore?> getDrivingBehaviourScore(
    DateTime startTime,
    DateTime endTime,
    KruzrPerioicType kruzrPeriodicType,
    ) async {
  try {
    String? aggregatedDrivingBehaviourScore = await platform.invokeMethod(
      'getDrivingBehaviourScore',
      {
        'startTime': startTime.millisecondsSinceEpoch,
        // Convert DateTime to milliseconds since epoch
        'endTime': endTime.millisecondsSinceEpoch,
        // Convert DateTime to milliseconds since epoch
        'kruzrPeriodicType': kruzrPeriodicType.value,
      },
    );
    if (kDebugMode) {
      print(
        "Received aggregatedDrivingBehaviourScore from sdk: $aggregatedDrivingBehaviourScore",
      );
    }
    return DrivingBehaviourScore.fromJson(
      jsonDecode(aggregatedDrivingBehaviourScore!),
    );
  } on PlatformException catch (e, stacktrace) {
    if (kDebugMode) {
      print("Error in getDrivingBehaviourScore");
      print(e);
      print(stacktrace);
    }
    rethrow;
  } catch (e, stacktrace) {
    if (kDebugMode) {
      print("Error in getDrivingBehaviourScore");
      print(e);
      print(stacktrace);
    }
    throw PlatformException(code: "PLUGIN_ERROR", message: e.toString());
  }
}