diff options
author | Charles Chen <charlesccchen@google.com> | 2020-06-09 16:31:13 +0800 |
---|---|---|
committer | Charles Chen <charlesccchen@google.com> | 2020-06-30 14:50:03 +0800 |
commit | f0f64c1bee2c5295d6713de3787cfad9e164916d (patch) | |
tree | c8422ba190677917159e14653a208b9ef07b91aa /tools/aapt2/java/JavaClassGenerator.cpp | |
parent | 612d9e85e681efeacf73b45ccb41d93147996ff0 (diff) |
Try to fix IndexOutBoundsException in Task#removeChild
When calling Task#removeChild in a Task with finishing task overlay
activities, it calls ActivityStackSupervisor#removeTask, and goes to
performClearTaskAtIndexLocked and calls removeChild() recursively,
which leads to iterating over mChildren twice.
This CL introduces a flag mInRemoveTask to prevent the double
invocation of removeTask, and also refactors
performClearTaskAtIndesLocked a bit to align with the current behavior.
Test: atest WmTests:TaskTests
Bug: 157663342
Change-Id: I9e3bb6947bca9adc87497d16947de644f3227ee4
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator.cpp')
0 files changed, 0 insertions, 0 deletions