startCustomizedAssessment method

  1. @override
Future<void> startCustomizedAssessment({
  1. required SMKitWorkout assessment,
  2. bool showSummary = false,
  3. Map<String, dynamic>? userData,
  4. Map<String, dynamic>? modifications,
  5. void onHandle(
    1. SMKitStatus
    )?,
})
override

Implementation

@override
Future<void> startCustomizedAssessment({
required SMKitWorkout assessment,
bool showSummary = false,
Map<String, dynamic>? userData,
Map<String, dynamic>? modifications,
void Function(SMKitStatus)? onHandle,
}) async {
final modificationsToSend = (modifications != null && modifications.isNotEmpty) ? modifications : null;
final argument = {
  'smWorkout': assessment.toJson().toString(),
  'showSummary': showSummary,
  if (userData != null) 'userData': userData,
  if (modificationsToSend != null) 'modifications': modificationsToSend,
};
final subscription =
    eventChannel.receiveBroadcastStream().listen((Object? event) {
  _onEvent(event, onHandle);
});
try {
  await methodChannel.invokeMethod<String>(
      'startCustomizedAssessment', argument);
  await Future.delayed(const Duration(milliseconds: 500));
} on PlatformException catch (e) {
  debugPrint('PlatformException: ${e.code} ${e.message}');
} finally {
  subscription.cancel();
}
}