// Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include #if !defined(FUCHSIA_SDK) #include #include #endif #include #include "loop.h" #include "runner.h" #include "runtime/dart/utils/tempfs.h" int main(int argc, char const* argv[]) { std::unique_ptr loop(flutter_runner::MakeObservableLoop(true)); #if !defined(FUCHSIA_SDK) std::unique_ptr provider; { TRACE_DURATION("flutter", "CreateTraceProvider"); bool already_started; // Use CreateSynchronously to prevent loss of early events. trace::TraceProviderWithFdio::CreateSynchronously( loop->dispatcher(), "flutter_runner", &provider, &already_started); } #endif // Set up the process-wide /tmp memfs. dart_utils::SetupRunnerTemp(); FML_DLOG(INFO) << "Flutter application services initialized."; flutter_runner::Runner runner(loop.get()); loop->Run(); FML_DLOG(INFO) << "Flutter application services terminated."; return EXIT_SUCCESS; }