WTTask constructor

WTTask({
  1. required String identifier,
  2. WTMeasure? measure,
})

Constructs the WTTask and initializes all required steps and configurations. Sets up the Walking Test sequence, sensor selection, and subscribes to sensor selection changes.

Implementation

WTTask({required super.identifier, WTMeasure? measure}) : super(steps: []) {
  _wTMeasure = measure ?? _wTMeasure;
  steps.addAll([
    RPInstructionStep(
        identifier: 'intro',
        title: '${_wTMeasure.numberOfSteps}-Step Walk Test',
        text:
            'Walk about ${_wTMeasure.numberOfSteps} steps as fast as you can while maintaining safety.',
      )
      ..detailText =
          'wt_test_detail',
    _buildSensorSelectionStep(),
    WTPreparationStep(
      identifier: 'wt_preparation',
      title: 'preparation',
    ),
    WTInstructionsStep(
      identifier: 'wt_instructions',
      title: 'instructions',
      numberOfSteps: _wTMeasure.numberOfSteps,
    ),
    RPTimerStep(
      identifier: 'prepare',
      title: 'get_ready',
      timeout: const Duration(seconds: 3),
      autoSkip: true,
    ),
    WTTestStep(
      measure: _wTMeasure,
      config: _config,
      probe: _probe,
      processor: WTProcessor(config: _config, measure: _wTMeasure),
      includeInstructions: false,
      includeResults: false,
    ),
    WTResultStep(
      identifier: 'WT_result',
      title: 'test_completed',
      text: 'test_completed_wt',
    ),
  ]);
  subscribeToSensorSelectionStep();
}