getStatus function
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,
);
}