VoiceLoop constructor
VoiceLoop({
- required SendPayload send,
- required SnapshotFactory captureSnapshot,
- ScrollerResolver? scrollerResolver,
- HighlightCallback? highlightCallback,
- BackHandler? onBack,
- HighlightDispatcher? standaloneHighlightDispatcher,
- RequestSnapshotCallback? onRequestSnapshot,
- MissionStatusListener? onMissionStatus,
- void afterStep()?,
- StepVerifier verifier = const Verifier(),
- Explorer explorer = const Explorer(),
- MissionOutcomeListener? onMissionTelemetry,
- StepOutcomeListener? onStepTelemetry,
- NearMissListener? onNearMiss,
- Duration stepTimeout = const Duration(seconds: 30),
- Duration missionTimeout = const Duration(minutes: 3),
- int retriesPerStep = 2,
- Duration retryDelay = const Duration(milliseconds: 450),
- Duration postExecuteSettle = const Duration(milliseconds: 400),
Implementation
VoiceLoop({
required this.send,
required SnapshotFactory captureSnapshot,
ScrollerResolver? scrollerResolver,
HighlightCallback? highlightCallback,
BackHandler? onBack,
NavStack? navStack,
this.standaloneHighlightDispatcher,
this.onRequestSnapshot,
this.onMissionStatus,
void Function()? afterStep,
StepVerifier verifier = const Verifier(),
Explorer explorer = const Explorer(),
MissionOutcomeListener? onMissionTelemetry,
StepOutcomeListener? onStepTelemetry,
NearMissListener? onNearMiss,
Duration stepTimeout = const Duration(seconds: 30),
Duration missionTimeout = const Duration(minutes: 3),
int retriesPerStep = 2,
Duration retryDelay = const Duration(milliseconds: 450),
Duration postExecuteSettle = const Duration(milliseconds: 400),
}) {
UiSnapshot? wrappedCapture() {
final snap = captureSnapshot();
DebugConsoleState.instance.setSnapshot(snap);
return snap;
}
_highlightCallback = highlightCallback;
runner = MissionRunner(
captureSnapshot: wrappedCapture,
scrollerResolver: scrollerResolver,
highlightCallback: highlightCallback,
onStepHighlight: _drawStepHighlight,
onBack: onBack,
navStack: navStack,
verifier: verifier,
explorer: explorer,
stepTimeout: stepTimeout,
missionTimeout: missionTimeout,
retriesPerStep: retriesPerStep,
retryDelay: retryDelay,
postExecuteSettle: postExecuteSettle,
onStatus: _emitStatus,
onPhase: _emitPhase,
onVerification: _emitVerification,
onInfoQuery: _emitInfoQuery,
onFindCandidates: _emitFindCandidates,
onMissionTelemetry: onMissionTelemetry,
onStepTelemetry: onStepTelemetry,
onNearMiss: onNearMiss,
afterStep: afterStep,
);
}