-
Notifications
You must be signed in to change notification settings - Fork 6k
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
ios: Fixed the callback for the first frame so that it isn't predicated on having a splash screen. #9952
ios: Fixed the callback for the first frame so that it isn't predicated on having a splash screen. #9952
Conversation
having a splash screen. Implemented by tweaking splash screen logic.
LGTM % tests Either solution is ok. Though we probably have to answer a few questions about consistent indirections or not in the other PR. |
I've tried to get automated testing for this but it is not trivial. The library wasn't setup well for tests. I tried using a mock FlutterEngine, but that runs into problems where it eventually has to return C++ objects like the flutter::PlatformView. If you use a real FlutterEngine I can get the callback installed in the rasterizer, but there is no way to introspect into it. Also nothing gets rendered without an actual Flutter project so I don't get the callback called. Our best bet might be to create an integration test in framework, maybe in iosAdd2App tests. |
I talked offline to @xster. We decided to look into adding this to Dan's integration tests at testing/scenario_app. I realized that isn't going to work well for this case because those tests always launch the FlutterViewController before the tests run, which doesn't give us the opportunity to set the callback. The best place for testing this is in the add2app integration tests. |
I think what it would be though is rather than using the same iOS project itself, it would be a new iOS project where the default vc is a normal vc, it has a button or some such that makes a Flutter VC, sets the callback and presents it. Press the button in earl grey, check that the callback is called. |
Going to commit this now to make sure I didn't break full screen apps. I'm working on getting an integration working in Engine based off of Dan's Scenario work. |
…predicated on having a splash screen. (flutter/engine#9952)
* 876eff6 Revert "[fuchsia] Use the patched sdk to generate the flutter jit runner far (#10122)" (flutter/engine#10140) * 36b5b14 Roll fuchsia/sdk/core/mac-amd64 from 9EcA--gzHNo80R_fAuB_Tq7ECubTP0Uz3UrycPIvRpsC to SHb_OsdvSz75N-G-jbG-tQOM1OyipLcQG0rsVrARsX0C (flutter/engine#10134) * 29d92c9 Roll src/third_party/skia b3956dc6ba6a..fff996c117c1 (10 commits) (flutter/engine#10133) * d50f415 Roll fuchsia/sdk/core/linux-amd64 from NrExSKBKIhY3SnE4sD0-vHjEMCBYYffzarRM2rWONUUC to ylNwUxj7tBGga6sghqrKH_gqu3RzfTLxB4rxZhAk2IAC (flutter/engine#10135) * 930f585 Roll fuchsia/clang/linux-amd64 from zHiuOGMDwdWPUkV1B2fHKyRy2fGWGcUgfa2z6dyGAZQC to W8LY5ncb-fknOtxPITszyAZ1g80_OSq2W_QWC3QunXoC (flutter/engine#10137) * 9c1bba3 Roll fuchsia/clang/mac-amd64 from UYD9C8IEkWVi83ef4zwO1Ump2B8cP9Nd5WECjU8l3AUC to CqfCCMwpILIYr4rqCeh3zF8x3qErehEusnQwl22i7KIC (flutter/engine#10136) * 0ecb793 ios: Fixed the callback for the first frame so that it isn't predicated on having a splash screen. (flutter/engine#9952) * 35b62dd Roll src/third_party/dart 0c97c31b6e..a2aec5eb06 (22 commits) (flutter/engine#10139) * 250ee31 Started linking the test targets against Flutter. (flutter/engine#10128) * 330b0f0 Revert "[macos] Revert check on FlutterCodecs and refactor message function] (#10009)" (flutter/engine#10141) * 0861e0a Disable windows tests (flutter/engine#10143)
* 876eff6 Revert "[fuchsia] Use the patched sdk to generate the flutter jit runner far (flutter#10122)" (flutter/engine#10140) * 36b5b14 Roll fuchsia/sdk/core/mac-amd64 from 9EcA--gzHNo80R_fAuB_Tq7ECubTP0Uz3UrycPIvRpsC to SHb_OsdvSz75N-G-jbG-tQOM1OyipLcQG0rsVrARsX0C (flutter/engine#10134) * 29d92c9 Roll src/third_party/skia b3956dc6ba6a..fff996c117c1 (10 commits) (flutter/engine#10133) * d50f415 Roll fuchsia/sdk/core/linux-amd64 from NrExSKBKIhY3SnE4sD0-vHjEMCBYYffzarRM2rWONUUC to ylNwUxj7tBGga6sghqrKH_gqu3RzfTLxB4rxZhAk2IAC (flutter/engine#10135) * 930f585 Roll fuchsia/clang/linux-amd64 from zHiuOGMDwdWPUkV1B2fHKyRy2fGWGcUgfa2z6dyGAZQC to W8LY5ncb-fknOtxPITszyAZ1g80_OSq2W_QWC3QunXoC (flutter/engine#10137) * 9c1bba3 Roll fuchsia/clang/mac-amd64 from UYD9C8IEkWVi83ef4zwO1Ump2B8cP9Nd5WECjU8l3AUC to CqfCCMwpILIYr4rqCeh3zF8x3qErehEusnQwl22i7KIC (flutter/engine#10136) * 0ecb793 ios: Fixed the callback for the first frame so that it isn't predicated on having a splash screen. (flutter/engine#9952) * 35b62dd Roll src/third_party/dart 0c97c31b6e..a2aec5eb06 (22 commits) (flutter/engine#10139) * 250ee31 Started linking the test targets against Flutter. (flutter/engine#10128) * 330b0f0 Revert "[macos] Revert check on FlutterCodecs and refactor message function] (flutter#10009)" (flutter/engine#10141) * 0861e0a Disable windows tests (flutter/engine#10143)
Implemented by tweaking splash screen logic.
Relevant issue: flutter/flutter#24519