startCustomizedWorkout method

  1. @override
Future<void> startCustomizedWorkout({
  1. required SMKitWorkout workout,
  2. Map<String, dynamic>? modifications,
  3. void onHandle(
    1. SMKitStatus
    )?,
})
override

Implementation

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