startCustomizedWorkout method
Future<void>
startCustomizedWorkout({
- required SMKitWorkout workout,
- bool showSummary = false,
- Map<
String, dynamic> ? userData, - Map<
String, dynamic> ? modifications, - void onHandle()?,
override
Implementation
@override
Future<void> startCustomizedWorkout({
required SMKitWorkout workout,
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': workout.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>(
'startCustomizedWorkout', argument);
await Future.delayed(const Duration(milliseconds: 500));
} on PlatformException catch (e) {
debugPrint('PlatformException: ${e.code} ${e.message}');
} finally {
subscription.cancel();
}
}