cockpitCaptureFallbackTrailFor function

List<CockpitPlaneKind> cockpitCaptureFallbackTrailFor(
  1. CockpitCommandResult result
)

Implementation

List<CockpitPlaneKind> cockpitCaptureFallbackTrailFor(
  CockpitCommandResult result,
) {
  if (!result.usedCaptureFallback) {
    return const <CockpitPlaneKind>[];
  }
  if (result.resolvedCaptureKind == null) {
    return const <CockpitPlaneKind>[];
  }
  final hostCaptureFailed =
      result.degradationReason?.startsWith('hostCapture') == true;
  return switch (result.resolvedCaptureKind) {
    CockpitCaptureKind.flutterView => <CockpitPlaneKind>[
      if (hostCaptureFailed) CockpitPlaneKind.deviceSystemPlane,
      CockpitPlaneKind.nativeUiPlane,
    ],
    CockpitCaptureKind.appNative || CockpitCaptureKind.nativeAcceptance
        when hostCaptureFailed =>
      const <CockpitPlaneKind>[CockpitPlaneKind.deviceSystemPlane],
    _ => const <CockpitPlaneKind>[CockpitPlaneKind.flutterSemanticPlane],
  };
}