-
Notifications
You must be signed in to change notification settings - Fork 29.7k
[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine #169276
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine #169276
Conversation
flutter#168396) (flutter#168914) ## **BREAKING CHANGE** Adopting Apple's UISceneDelegate protocol shifts the initialization order of apps. For the common cases we've made sure they will work without change. The one case that will require a change is any app that in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]` assumes that `UIApplicationDelegate.window.rootViewController` is a `FlutterViewController` instance. This is sometimes done to register platform channels directly on the `FlutterViewController`. Instead users should use the `FlutterPluginRegistry` API's to create platform channels in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]`, like `FlutterPlugin`s do. An example can be seen here: https://github.com/flutter/flutter/pull/168914/files#diff-9f59c5248b58124beca7e290a57646023cda3ca024607092c6c6932606ce16ee ## Changes since revert Device lab tests have been migrated to using the FlutterPlugin API for creating platform channels at process launch. ## Description fixes: flutter#167267 design doc: https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0 relands flutter#168396 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
d4d9d00 to
e9f132e
Compare
vashworth
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
autosubmit label was removed for flutter/flutter/169276, because - The status or check suite Mac build_android_host_app_with_module_aar has failed. Please fix the issues identified (or deflake) before re-applying this label. |
This comment was marked as off-topic.
This comment was marked as off-topic.
|
A reason for requesting a revert of flutter/flutter/169276 could |
|
Reason for revert: Causing google testing failures |
…aunchEngine (#169276)" (#169347) <!-- start_original_pr_link --> Reverts: #169276 <!-- end_original_pr_link --> <!-- start_initiating_author --> Initiated by: vashworth <!-- end_initiating_author --> <!-- start_revert_reason --> Reason for reverting: Causing google testing failures <!-- end_revert_reason --> <!-- start_original_pr_author --> Original PR Author: gaaclarke <!-- end_original_pr_author --> <!-- start_reviewers --> Reviewed By: {vashworth} <!-- end_reviewers --> <!-- start_revert_body --> This change reverts the following previous change: ## **BREAKING CHANGE** Adopting Apple's UISceneDelegate protocol shifts the initialization order of apps. For the common cases we've made sure they will work without change. The one case that will require a change is any app that in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]` assumes that `UIApplicationDelegate.window.rootViewController` is a `FlutterViewController` instance. This is sometimes done to register platform channels directly on the `FlutterViewController`. Instead users should use the `FlutterPluginRegistry` API's to create platform channels in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]`, like `FlutterPlugin`s do. An example can be seen here: https://github.com/flutter/flutter/pull/168914/files#diff-9f59c5248b58124beca7e290a57646023cda3ca024607092c6c6932606ce16ee In extreme cases, like bespoke test harnesses, the startup logic can be moved to `-[FlutterViewController awakeFromNib]` in a FlutterViewController subclass. An example can be seen here: https://github.com/flutter/flutter/pull/169276/files#diff-dbe39c23a0a380447b90b7559a878dae8564616e0875c4ef0d9e99e02b91adac ## Changes since revert I changed the init in `//dev/integration_tests/external_textures` from the UIApplicationDelegate to the FlutterViewController's awakeFromNib. This is a more appropriate place for initialization post-UISceneDelegate since it avoids the launch engine altogether. I tried avoiding to make the big change to prove we could do a small change to migrate that project. I don't think this big refactor is indicative of what users will experience. There was a timing assumption in the integration test that required not using the launch engine at all. ## Description fixes: #167267 design doc: https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0 relands #168396 relands #168914 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. <!-- end_revert_body --> Co-authored-by: auto-submit[bot] <[email protected]>
|
go/flutter-169276-google-failures |
Roll Flutter from 33cdd8ef31dc to 85564cbba9e7 (39 revisions) flutter/flutter@33cdd8e...85564cb 2025-05-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276)" (flutter/flutter#169347) 2025-05-23 [email protected] Roll Skia from a01ea49f53a4 to 956fd8b14e22 (1 revision) (flutter/flutter#169334) 2025-05-23 [email protected] Roll Dart SDK from 4de10a11ceb9 to 085f110ecf33 (1 revision) (flutter/flutter#169333) 2025-05-23 [email protected] Roll Skia from bcc7e7fce10e to a01ea49f53a4 (1 revision) (flutter/flutter#169329) 2025-05-23 [email protected] Roll Skia from 18b85aced9b7 to bcc7e7fce10e (3 revisions) (flutter/flutter#169323) 2025-05-23 [email protected] Roll Dart SDK from 2a45b2f88a4f to 4de10a11ceb9 (2 revisions) (flutter/flutter#169322) 2025-05-23 [email protected] Remove patching of `package_config.json` from Flutter Pub wrapper. (flutter/flutter#169306) 2025-05-23 [email protected] Add missing dart_dynamic_modules flag for iOS DDM simulator builds (flutter/flutter#169254) 2025-05-23 [email protected] Roll Skia from ea73ccdc1417 to 18b85aced9b7 (6 revisions) (flutter/flutter#169315) 2025-05-23 [email protected] Add flag to exclude focus for hidden children in Visibility, maintainFocusability. Set maintainFocusability to false in IndexedStack (flutter/flutter#159133) 2025-05-23 [email protected] [Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter/flutter#169276) 2025-05-23 [email protected] Roll Dart SDK from 8f85d89fdc23 to 2a45b2f88a4f (6 revisions) (flutter/flutter#169312) 2025-05-23 [email protected] Removes unnecessary parentheses (flutter/flutter#169015) 2025-05-22 [email protected] Unpin test/test_core/test_api packages (flutter/flutter#169198) 2025-05-22 [email protected] [Engine] Fix an edge case of RoundSuperellipseParam::Contains with sharp corners (flutter/flutter#167977) 2025-05-22 [email protected] Replace goldens in test/cupertino/nav_bar_transition_test.dart (flutter/flutter#169172) 2025-05-22 [email protected] Roll Skia from 13a299964c9f to ea73ccdc1417 (35 revisions) (flutter/flutter#169303) 2025-05-22 [email protected] Increase sub-task timeout for Mac web_tool_tests (flutter/flutter#169307) 2025-05-22 [email protected] Fix crash on two finger selection gesture (flutter/flutter#168598) 2025-05-22 [email protected] Disable the ability to opt-out of `explicit-package-dependencies`. (flutter/flutter#169283) 2025-05-22 [email protected] Fixes tab semantics gets dropped if the child produce a semantics node (flutter/flutter#169233) 2025-05-22 [email protected] Skip `{PLAT}_web_tools_test#expression_evaluation_*_test.dart`, turning tree 🔴 (flutter/flutter#169305) 2025-05-22 [email protected] Update tool-internal `generateLocalizations...()` to never use synthetic (`flutter_gen`) packages (flutter/flutter#169285) 2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make `build_android_host_app_with_module_aar` build using an aar (#169171)" (flutter/flutter#169287) 2025-05-22 [email protected] Increase sub-task timeout for `web_tool_tests_1_2` (flutter/flutter#169277) 2025-05-22 [email protected] refactor the usage of `MediaQuery.sizeOf(context).height` to use the new `.heightOf(context)` (flutter/flutter#168894) 2025-05-22 [email protected] [tool] Add --no-minify flag to JS Compiler (flutter/flutter#169102) 2025-05-22 [email protected] Update ButtonStyle documentation (flutter/flutter#168062) 2025-05-22 [email protected] Fix the issue where DropdownMenu disposes of the controller. (flutter/flutter#168541) 2025-05-22 [email protected] Add bottomSheetScrimBuilder to Scaffold (flutter/flutter#167335) 2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" (flutter/flutter#169250) 2025-05-21 [email protected] Roll Dart SDK from 56940edd099d to 8f85d89fdc23 (6 revisions) (flutter/flutter#169237) 2025-05-21 [email protected] Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer (flutter/flutter#161549) 2025-05-21 [email protected] Normalize BottomAppBarTheme (continue) (flutter/flutter#168966) 2025-05-21 [email protected] [Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (flutter/flutter#168914) 2025-05-21 [email protected] Respect `calendarDelegate` in `showDateRangePicker` (flutter/flutter#168290) 2025-05-21 [email protected] Make `build_android_host_app_with_module_aar` build using an aar (flutter/flutter#169171) 2025-05-21 [email protected] Roll Dart SDK from 7c40eba6bf77 to 56940edd099d (flutter/flutter#169135) 2025-05-21 [email protected] Feat: Add full screen dialog support for dialog routes (flutter/flutter#167794) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. ...
…ne (flutter#169276) ## **BREAKING CHANGE** Adopting Apple's UISceneDelegate protocol shifts the initialization order of apps. For the common cases we've made sure they will work without change. The one case that will require a change is any app that in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]` assumes that `UIApplicationDelegate.window.rootViewController` is a `FlutterViewController` instance. This is sometimes done to register platform channels directly on the `FlutterViewController`. Instead users should use the `FlutterPluginRegistry` API's to create platform channels in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]`, like `FlutterPlugin`s do. An example can be seen here: https://github.com/flutter/flutter/pull/168914/files#diff-9f59c5248b58124beca7e290a57646023cda3ca024607092c6c6932606ce16ee In extreme cases, like bespoke test harnesses, the startup logic can be moved to `-[FlutterViewController awakeFromNib]` in a FlutterViewController subclass. An example can be seen here: https://github.com/flutter/flutter/pull/169276/files#diff-dbe39c23a0a380447b90b7559a878dae8564616e0875c4ef0d9e99e02b91adac ## Changes since revert I changed the init in `//dev/integration_tests/external_textures` from the UIApplicationDelegate to the FlutterViewController's awakeFromNib. This is a more appropriate place for initialization post-UISceneDelegate since it avoids the launch engine altogether. I tried avoiding to make the big change to prove we could do a small change to migrate that project. I don't think this big refactor is indicative of what users will experience. There was a timing assumption in the integration test that required not using the launch engine at all. ## Description fixes: flutter#167267 design doc: https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0 relands flutter#168396 relands flutter#168914 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
…ne (#169276) (#169365) ## **BREAKING CHANGE** Adopting Apple's UISceneDelegate protocol shifts the initialization order of apps. For the common cases we've made sure they will work without change. The one case that will require a change is any app that in `-[UIApplicateDelegate didFinishLaunchingWithOptions:]` assumes that `UIApplicationDelegate.window.rootViewController` is a `FlutterViewController` instance. Users should follow the [migration guide](https://docs.google.com/document/d/16WsqYbANmhupw-gxGPQPZ9B3yz1YBIviS-N1UyIQNSE/edit?tab=t.0#heading=h.txry2otwqko3) to update that usage. ## Changes since revert It's been rebased onto the FlutterPluginRegistrant PR which was used for migration. The dynamic selection of the UISceneDelegate has been removed, instead there is a flutter tool migration to the Info.plist. ## Description fixes: #167267 design doc: https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0 relands #168396 relands #168914 relands #169276 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
* master: (125 commits) Roll Fuchsia Linux SDK from XtPp9bBW49iDJ0wbA... to -eo2JqnJBauuGSzoW... (flutter#169424) Roll Skia from 91dc88dc70e5 to 443f5257f382 (1 revision) (flutter#169422) Roll Skia from 0834eea9de33 to 91dc88dc70e5 (1 revision) (flutter#169414) Roll Dart SDK from 0a6b16a55b9e to 7dab9bffe1f7 (1 revision) (flutter#169406) Correct calculation for CupertinoTextSelectionToolbar vertical position (flutter#169308) Baseline-align CupertinoTextField placeholder (flutter#166952) Roll Dart SDK from 8354914ef97b to 0a6b16a55b9e (3 revisions) (flutter#169403) Start removing Observatory support and references (flutter#169216) Roll Skia from f42bb59753fe to 0834eea9de33 (3 revisions) (flutter#169393) Roll Skia from 956fd8b14e22 to f42bb59753fe (2 revisions) (flutter#169379) [Engine] Fast blurring algorithm for RSuperellipse (flutter#169187) Add a page describing best CI practices for `flutter`-org repos (flutter#169364) Revert "Mark web_tool_tests_1_2 as bringup." (flutter#169361) Add changelog section for 3.32.0 and 3.32.1, and add note for ndk checking cherry pick (flutter#169369) Roll Dart SDK from 085f110ecf33 to 8354914ef97b (1 revision) (flutter#169349) Remove handling of the legacy `.flutter-plugins` file in `PluginHandler.kt`. (flutter#169317) Use baseUri of WebAssetServer for reload_scripts.json (flutter#169267) Reverts "Use pub workspace (flutter#168662)" (flutter#169357) Use pub workspace (flutter#168662) Reverts "[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter#169276)" (flutter#169347) ...
…r#9315) Roll Flutter from 33cdd8ef31dc to 85564cbba9e7 (39 revisions) flutter/flutter@33cdd8e...85564cb 2025-05-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276)" (flutter/flutter#169347) 2025-05-23 [email protected] Roll Skia from a01ea49f53a4 to 956fd8b14e22 (1 revision) (flutter/flutter#169334) 2025-05-23 [email protected] Roll Dart SDK from 4de10a11ceb9 to 085f110ecf33 (1 revision) (flutter/flutter#169333) 2025-05-23 [email protected] Roll Skia from bcc7e7fce10e to a01ea49f53a4 (1 revision) (flutter/flutter#169329) 2025-05-23 [email protected] Roll Skia from 18b85aced9b7 to bcc7e7fce10e (3 revisions) (flutter/flutter#169323) 2025-05-23 [email protected] Roll Dart SDK from 2a45b2f88a4f to 4de10a11ceb9 (2 revisions) (flutter/flutter#169322) 2025-05-23 [email protected] Remove patching of `package_config.json` from Flutter Pub wrapper. (flutter/flutter#169306) 2025-05-23 [email protected] Add missing dart_dynamic_modules flag for iOS DDM simulator builds (flutter/flutter#169254) 2025-05-23 [email protected] Roll Skia from ea73ccdc1417 to 18b85aced9b7 (6 revisions) (flutter/flutter#169315) 2025-05-23 [email protected] Add flag to exclude focus for hidden children in Visibility, maintainFocusability. Set maintainFocusability to false in IndexedStack (flutter/flutter#159133) 2025-05-23 [email protected] [Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter/flutter#169276) 2025-05-23 [email protected] Roll Dart SDK from 8f85d89fdc23 to 2a45b2f88a4f (6 revisions) (flutter/flutter#169312) 2025-05-23 [email protected] Removes unnecessary parentheses (flutter/flutter#169015) 2025-05-22 [email protected] Unpin test/test_core/test_api packages (flutter/flutter#169198) 2025-05-22 [email protected] [Engine] Fix an edge case of RoundSuperellipseParam::Contains with sharp corners (flutter/flutter#167977) 2025-05-22 [email protected] Replace goldens in test/cupertino/nav_bar_transition_test.dart (flutter/flutter#169172) 2025-05-22 [email protected] Roll Skia from 13a299964c9f to ea73ccdc1417 (35 revisions) (flutter/flutter#169303) 2025-05-22 [email protected] Increase sub-task timeout for Mac web_tool_tests (flutter/flutter#169307) 2025-05-22 [email protected] Fix crash on two finger selection gesture (flutter/flutter#168598) 2025-05-22 [email protected] Disable the ability to opt-out of `explicit-package-dependencies`. (flutter/flutter#169283) 2025-05-22 [email protected] Fixes tab semantics gets dropped if the child produce a semantics node (flutter/flutter#169233) 2025-05-22 [email protected] Skip `{PLAT}_web_tools_test#expression_evaluation_*_test.dart`, turning tree 🔴 (flutter/flutter#169305) 2025-05-22 [email protected] Update tool-internal `generateLocalizations...()` to never use synthetic (`flutter_gen`) packages (flutter/flutter#169285) 2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make `build_android_host_app_with_module_aar` build using an aar (#169171)" (flutter/flutter#169287) 2025-05-22 [email protected] Increase sub-task timeout for `web_tool_tests_1_2` (flutter/flutter#169277) 2025-05-22 [email protected] refactor the usage of `MediaQuery.sizeOf(context).height` to use the new `.heightOf(context)` (flutter/flutter#168894) 2025-05-22 [email protected] [tool] Add --no-minify flag to JS Compiler (flutter/flutter#169102) 2025-05-22 [email protected] Update ButtonStyle documentation (flutter/flutter#168062) 2025-05-22 [email protected] Fix the issue where DropdownMenu disposes of the controller. (flutter/flutter#168541) 2025-05-22 [email protected] Add bottomSheetScrimBuilder to Scaffold (flutter/flutter#167335) 2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" (flutter/flutter#169250) 2025-05-21 [email protected] Roll Dart SDK from 56940edd099d to 8f85d89fdc23 (6 revisions) (flutter/flutter#169237) 2025-05-21 [email protected] Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer (flutter/flutter#161549) 2025-05-21 [email protected] Normalize BottomAppBarTheme (continue) (flutter/flutter#168966) 2025-05-21 [email protected] [Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (flutter/flutter#168914) 2025-05-21 [email protected] Respect `calendarDelegate` in `showDateRangePicker` (flutter/flutter#168290) 2025-05-21 [email protected] Make `build_android_host_app_with_module_aar` build using an aar (flutter/flutter#169171) 2025-05-21 [email protected] Roll Dart SDK from 7c40eba6bf77 to 56940edd099d (flutter/flutter#169135) 2025-05-21 [email protected] Feat: Add full screen dialog support for dialog routes (flutter/flutter#167794) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. ...
…r#9315) Roll Flutter from 33cdd8ef31dc to 85564cbba9e7 (39 revisions) flutter/flutter@33cdd8e...85564cb 2025-05-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276)" (flutter/flutter#169347) 2025-05-23 [email protected] Roll Skia from a01ea49f53a4 to 956fd8b14e22 (1 revision) (flutter/flutter#169334) 2025-05-23 [email protected] Roll Dart SDK from 4de10a11ceb9 to 085f110ecf33 (1 revision) (flutter/flutter#169333) 2025-05-23 [email protected] Roll Skia from bcc7e7fce10e to a01ea49f53a4 (1 revision) (flutter/flutter#169329) 2025-05-23 [email protected] Roll Skia from 18b85aced9b7 to bcc7e7fce10e (3 revisions) (flutter/flutter#169323) 2025-05-23 [email protected] Roll Dart SDK from 2a45b2f88a4f to 4de10a11ceb9 (2 revisions) (flutter/flutter#169322) 2025-05-23 [email protected] Remove patching of `package_config.json` from Flutter Pub wrapper. (flutter/flutter#169306) 2025-05-23 [email protected] Add missing dart_dynamic_modules flag for iOS DDM simulator builds (flutter/flutter#169254) 2025-05-23 [email protected] Roll Skia from ea73ccdc1417 to 18b85aced9b7 (6 revisions) (flutter/flutter#169315) 2025-05-23 [email protected] Add flag to exclude focus for hidden children in Visibility, maintainFocusability. Set maintainFocusability to false in IndexedStack (flutter/flutter#159133) 2025-05-23 [email protected] [Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter/flutter#169276) 2025-05-23 [email protected] Roll Dart SDK from 8f85d89fdc23 to 2a45b2f88a4f (6 revisions) (flutter/flutter#169312) 2025-05-23 [email protected] Removes unnecessary parentheses (flutter/flutter#169015) 2025-05-22 [email protected] Unpin test/test_core/test_api packages (flutter/flutter#169198) 2025-05-22 [email protected] [Engine] Fix an edge case of RoundSuperellipseParam::Contains with sharp corners (flutter/flutter#167977) 2025-05-22 [email protected] Replace goldens in test/cupertino/nav_bar_transition_test.dart (flutter/flutter#169172) 2025-05-22 [email protected] Roll Skia from 13a299964c9f to ea73ccdc1417 (35 revisions) (flutter/flutter#169303) 2025-05-22 [email protected] Increase sub-task timeout for Mac web_tool_tests (flutter/flutter#169307) 2025-05-22 [email protected] Fix crash on two finger selection gesture (flutter/flutter#168598) 2025-05-22 [email protected] Disable the ability to opt-out of `explicit-package-dependencies`. (flutter/flutter#169283) 2025-05-22 [email protected] Fixes tab semantics gets dropped if the child produce a semantics node (flutter/flutter#169233) 2025-05-22 [email protected] Skip `{PLAT}_web_tools_test#expression_evaluation_*_test.dart`, turning tree 🔴 (flutter/flutter#169305) 2025-05-22 [email protected] Update tool-internal `generateLocalizations...()` to never use synthetic (`flutter_gen`) packages (flutter/flutter#169285) 2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make `build_android_host_app_with_module_aar` build using an aar (#169171)" (flutter/flutter#169287) 2025-05-22 [email protected] Increase sub-task timeout for `web_tool_tests_1_2` (flutter/flutter#169277) 2025-05-22 [email protected] refactor the usage of `MediaQuery.sizeOf(context).height` to use the new `.heightOf(context)` (flutter/flutter#168894) 2025-05-22 [email protected] [tool] Add --no-minify flag to JS Compiler (flutter/flutter#169102) 2025-05-22 [email protected] Update ButtonStyle documentation (flutter/flutter#168062) 2025-05-22 [email protected] Fix the issue where DropdownMenu disposes of the controller. (flutter/flutter#168541) 2025-05-22 [email protected] Add bottomSheetScrimBuilder to Scaffold (flutter/flutter#167335) 2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" (flutter/flutter#169250) 2025-05-21 [email protected] Roll Dart SDK from 56940edd099d to 8f85d89fdc23 (6 revisions) (flutter/flutter#169237) 2025-05-21 [email protected] Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer (flutter/flutter#161549) 2025-05-21 [email protected] Normalize BottomAppBarTheme (continue) (flutter/flutter#168966) 2025-05-21 [email protected] [Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (flutter/flutter#168914) 2025-05-21 [email protected] Respect `calendarDelegate` in `showDateRangePicker` (flutter/flutter#168290) 2025-05-21 [email protected] Make `build_android_host_app_with_module_aar` build using an aar (flutter/flutter#169171) 2025-05-21 [email protected] Roll Dart SDK from 7c40eba6bf77 to 56940edd099d (flutter/flutter#169135) 2025-05-21 [email protected] Feat: Add full screen dialog support for dialog routes (flutter/flutter#167794) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. ...
BREAKING CHANGE
Adopting Apple's UISceneDelegate protocol shifts the initialization order of apps. For the common cases we've made sure they will work without change. The one case that will require a change is any app that in
-[UIApplicateDelegate didFinishLaunchingWithOptions:]assumes thatUIApplicationDelegate.window.rootViewControlleris aFlutterViewControllerinstance. This is sometimes done to register platform channels directly on theFlutterViewController. Instead users should use theFlutterPluginRegistryAPI's to create platform channels in-[UIApplicateDelegate didFinishLaunchingWithOptions:], likeFlutterPlugins do.An example can be seen here:
https://github.com/flutter/flutter/pull/168914/files#diff-9f59c5248b58124beca7e290a57646023cda3ca024607092c6c6932606ce16ee
In extreme cases, like bespoke test harnesses, the startup logic can be moved to
-[FlutterViewController awakeFromNib]in a FlutterViewController subclass.An example can be seen here:
https://github.com/flutter/flutter/pull/169276/files#diff-dbe39c23a0a380447b90b7559a878dae8564616e0875c4ef0d9e99e02b91adac
Changes since revert
I changed the init in
//dev/integration_tests/external_texturesfrom the UIApplicationDelegate to the FlutterViewController's awakeFromNib. This is a more appropriate place for initialization post-UISceneDelegate since it avoids the launch engine altogether. I tried avoiding to make the big change to prove we could do a small change to migrate that project. I don't think this big refactor is indicative of what users will experience. There was a timing assumption in the integration test that required not using the launch engine at all.Description
fixes: #167267
design doc:
https://docs.google.com/document/d/1ZfcQOs-UKRa9jsFG84-MTFeibZTLKCvPQLxF2eskx44/edit?tab=t.0
relands #168396
relands #168914
Pre-launch Checklist
///).