getStatus function

Future<StatusResult> getStatus(
  1. StatusInput _
)

Checks whether the Flutter app session is running.

Never throws. Returns a StatusResult with StatusResult.running set to false when there is no active session.

Implementation

Future<StatusResult> getStatus(StatusInput _) async {
  final controllerStatus = await _readControllerStatus();
  final vmServiceUri = await _readReachableVmServiceUri(
    readVmUri() ?? controllerStatus?.vmServiceUri,
  );
  final appPid = _readLiveAppPid();
  final flutterToolPid = _readLiveFlutterToolPid();
  final running = vmServiceUri != null || appPid != null || flutterToolPid != null;

  if (!running) {
    return const StatusResult(running: false);
  }

  return StatusResult(
    running: true,
    pid: appPid ?? _readLiveControllerReportedPid(controllerStatus?.pid) ?? flutterToolPid,
    vmServiceUri: vmServiceUri,
  );
}