Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@johnmccutchan
Copy link
Contributor

@johnmccutchan johnmccutchan commented Oct 10, 2023

Fixes internal bug b/303652511 and includes a regression test.

The TL;DR of the bug is that when re-launching a singleton-cached-engine Flutter activity using FLAG_ACTIVITY_CLEAR_TASK, the teardown of the previous Flutter activity interleaves with the creation of the new Flutter activity, resulting in the Flutter engine ending up incorrectly in the AppLifecycleState.detached state. This then results in the app being completely unresponsive because Flutter doesn't draw frames in this state. I don't know if the issue is reproducible in production under normal user operation, but I'm concerned it very easily could be. There's also nothing stopping other apps or Android system code from launching an app using this flag.

Fixes internal bug b/303652511 and includes a regression test.
@johnmccutchan johnmccutchan merged commit 5fcc167 into flutter:main Oct 11, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Oct 11, 2023
harryterkelsen pushed a commit that referenced this pull request Oct 23, 2023
Fixes internal bug b/303652511 and includes a regression test.

The TL;DR of the bug is that when re-launching a singleton-cached-engine
Flutter activity using FLAG_ACTIVITY_CLEAR_TASK, the teardown of the
previous Flutter activity interleaves with the creation of the new
Flutter activity, resulting in the Flutter engine ending up incorrectly
in the AppLifecycleState.detached state. This then results in the app
being completely unresponsive because Flutter doesn't draw frames in
this state. I don't know if the issue is reproducible in production
under normal user operation, but I'm concerned it very easily could be.
There's also nothing stopping other apps or Android system code from
launching an app using this flag.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants