diff options
| author | 2025-02-20 06:25:58 +0000 | |
|---|---|---|
| committer | 2025-03-04 23:07:19 -0800 | |
| commit | eedc80882452f84d4def1820206e1c486bcf1a90 (patch) | |
| tree | f46d5548d905088134dc6b70110602ee0648cc5b /libs/androidfw/ApkParsing.cpp | |
| parent | 0602ba6410f3f2f079a13a4da5fb534e8f55488c (diff) | |
Do not finish TaskFragment if a new activity is expected
If a TaskFragment only has one activity, and the activity finishes
itself and then immediately launches a new activity, there is a race
condition causing the newly launched activity to be in the TaskFragment
but the TaskFragment gets finished. This is because finish happens
first, causing the SplitController to receive a TaskFragment info with
no running activities in it, and SplitController finishes the
TaskFragment even if a new activity is being launched into the
TaskFragment.
This CL delays the TaskFragment cleanup so that the
activity may appear in the TaskFragment and in this case we do not need
to finish the TaskFragment.
Bug: 390452023
Test: atest SplitControllerTest ActivityEmbeddingLaunchTests
ActivityEmbeddingLifecycleTests ActivityEmbeddingPolicyTests
Flag: com.android.window.flags.activity_embedding_delay_task_fragment_finish_for_activity_launch
Change-Id: I8dff5d54a5a6cb623e944f7f7ed94d5cff9fbc44
Diffstat (limited to 'libs/androidfw/ApkParsing.cpp')
0 files changed, 0 insertions, 0 deletions