Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 65e4fafc authored by Louis Chang's avatar Louis Chang
Browse files

Prevents duplicated finishing activities

The finishing activities are requested to be finished or
destroyed again while removing the parent TaskFragment.

Bug: 365724360
Test: ActivityEmbeddingFinishTests
Flag: EXEMPT bugfix
Change-Id: I64bbe5dd210a67cb6ca0282f345e81370d193d30
parent f58acb9f
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -3027,7 +3027,11 @@ class TaskFragment extends WindowContainer<WindowContainer> {
        // The task order may be changed by finishIfPossible() for adjusting focus if there are
        // nested tasks, so add all activities into a list to avoid missed removals.
        final ArrayList<ActivityRecord> removingActivities = new ArrayList<>();
        forAllActivities((Consumer<ActivityRecord>) removingActivities::add);
        forAllActivities((r) -> {
            if (!r.finishing) {
                removingActivities.add(r);
            }
        });
        for (int i = removingActivities.size() - 1; i >= 0; --i) {
            final ActivityRecord r = removingActivities.get(i);
            if (withTransition && r.isVisible()) {