Update Windows app template (#65511)
diff --git a/packages/flutter_tools/templates/app/windows.tmpl/flutter/.template_version b/packages/flutter_tools/templates/app/windows.tmpl/flutter/.template_version
index 1e8b314..7f8f011 100644
--- a/packages/flutter_tools/templates/app/windows.tmpl/flutter/.template_version
+++ b/packages/flutter_tools/templates/app/windows.tmpl/flutter/.template_version
@@ -1 +1 @@
-6
+7
diff --git a/packages/flutter_tools/templates/app/windows.tmpl/runner/flutter_window.cpp b/packages/flutter_tools/templates/app/windows.tmpl/runner/flutter_window.cpp
index 6c7fa3d..aa0deaf 100644
--- a/packages/flutter_tools/templates/app/windows.tmpl/runner/flutter_window.cpp
+++ b/packages/flutter_tools/templates/app/windows.tmpl/runner/flutter_window.cpp
@@ -17,22 +17,23 @@
RECT frame = GetClientArea();
- // The size here must match the window dimensions to avoid unnecessary surface creation / destruction in the startup path.
- flutter_controller_ =
- std::make_unique<flutter::FlutterViewController>(frame.right - frame.left, frame.bottom - frame.top, project_);
+ // The size here must match the window dimensions to avoid unnecessary surface
+ // creation / destruction in the startup path.
+ flutter_controller_ = std::make_unique<flutter::FlutterViewController>(
+ frame.right - frame.left, frame.bottom - frame.top, project_);
// Ensure that basic setup of the controller was successful.
if (!flutter_controller_->engine() || !flutter_controller_->view()) {
return false;
}
- RegisterPlugins(flutter_controller_.get());
- run_loop_->RegisterFlutterInstance(flutter_controller_.get());
+ RegisterPlugins(flutter_controller_->engine());
+ run_loop_->RegisterFlutterInstance(flutter_controller_->engine());
SetChildContent(flutter_controller_->view()->GetNativeWindow());
return true;
}
void FlutterWindow::OnDestroy() {
if (flutter_controller_) {
- run_loop_->UnregisterFlutterInstance(flutter_controller_.get());
+ run_loop_->UnregisterFlutterInstance(flutter_controller_->engine());
flutter_controller_ = nullptr;
}
diff --git a/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.cpp b/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.cpp
index f91d6d4..36849fd 100644
--- a/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.cpp
+++ b/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.cpp
@@ -47,20 +47,19 @@
}
void RunLoop::RegisterFlutterInstance(
- flutter::FlutterViewController* flutter_instance) {
+ flutter::FlutterEngine* flutter_instance) {
flutter_instances_.insert(flutter_instance);
}
void RunLoop::UnregisterFlutterInstance(
- flutter::FlutterViewController* flutter_instance) {
+ flutter::FlutterEngine* flutter_instance) {
flutter_instances_.erase(flutter_instance);
}
RunLoop::TimePoint RunLoop::ProcessFlutterMessages() {
TimePoint next_event_time = TimePoint::max();
- for (auto flutter_controller : flutter_instances_) {
- std::chrono::nanoseconds wait_duration =
- flutter_controller->ProcessMessages();
+ for (auto instance : flutter_instances_) {
+ std::chrono::nanoseconds wait_duration = instance->ProcessMessages();
if (wait_duration != std::chrono::nanoseconds::max()) {
next_event_time =
std::min(next_event_time, TimePoint::clock::now() + wait_duration);
diff --git a/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.h b/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.h
index 442a58e..46ffc7a 100644
--- a/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.h
+++ b/packages/flutter_tools/templates/app/windows.tmpl/runner/run_loop.h
@@ -1,7 +1,7 @@
#ifndef RUN_LOOP_H_
#define RUN_LOOP_H_
-#include <flutter/flutter_view_controller.h>
+#include <flutter/flutter_engine.h>
#include <chrono>
#include <set>
@@ -22,11 +22,11 @@
// Registers the given Flutter instance for event servicing.
void RegisterFlutterInstance(
- flutter::FlutterViewController* flutter_instance);
+ flutter::FlutterEngine* flutter_instance);
// Unregisters the given Flutter instance from event servicing.
void UnregisterFlutterInstance(
- flutter::FlutterViewController* flutter_instance);
+ flutter::FlutterEngine* flutter_instance);
private:
using TimePoint = std::chrono::steady_clock::time_point;
@@ -34,7 +34,7 @@
// Processes all currently pending messages for registered Flutter instances.
TimePoint ProcessFlutterMessages();
- std::set<flutter::FlutterViewController*> flutter_instances_;
+ std::set<flutter::FlutterEngine*> flutter_instances_;
};
#endif // RUN_LOOP_H_