
This auto-formats all *.dart files in the repository outside of the `engine` subdirectory and enforces that these files stay formatted with a presubmit check. **Reviewers:** Please carefully review all the commits except for the one titled "formatted". The "formatted" commit was auto-generated by running `dev/tools/format.sh -a -f`. The other commits were hand-crafted to prepare the repo for the formatting change. I recommend reviewing the commits one-by-one via the "Commits" tab and avoiding Github's "Files changed" tab as it will likely slow down your browser because of the size of this PR. --------- Co-authored-by: Kate Lovett <katelovett@google.com> Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
iOS Add2App Life Cycle Test
This application demonstrates some basic functionality for Add2App, along with a native iOS ViewController as a baseline and to demonstrate interaction.
The following functionality is currently implemented:
- A regular iOS view controller (UIViewController), similar to the default
flutter create
template (NativeViewController.m). - A FlutterViewController subclass that takes over the full screen. Demos showing this both from a cold/fresh engine state and a warm engine state (FullScreenViewController.m).
- A demo of pushing a FlutterViewController on as a child view.
- A demo of showing both the native and the Flutter views using a platform channel to interact with each other (HybridViewController.m).
- A demo of showing two FlutterViewControllers simultaneously (DualViewController.m).
A few key things are tested here (IntegrationTests.m):
- The ability to pre-warm the engine and attach/detach a ViewController from it.
- The ability to use platform channels to communicate between views.
- The ability to simultaneously run two instances of the engine.
- That a FlutterViewController can be freed when no longer in use (also tested from FlutterViewControllerTests.m).
- That a FlutterEngine can be freed when no longer in use.