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

Commit b33f0178 authored by Hyeongseop Shim's avatar Hyeongseop Shim
Browse files

Fix bug on DC#ensureActivitiesVisible



There is a possibility that a certain DC does not perform
ensureActivitiesVisible since exception occurs on the binder thread.

If an exception occurs during its execution, the execution of the
finally statement is not conducted. From this point on, the DC doesn't
execute ensureActivitiesVisible forever.

Bug: 291175616
Change-Id: I042c15d3836f62a6c31e22d05023f4e61fb046d2
Signed-off-by: default avatarHyeongseop Shim <hyeongseop.shim@samsung.corp-partner.google.com>
parent daf8d623
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -6302,9 +6302,9 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
            // Don't do recursive work.
            return;
        }
        mInEnsureActivitiesVisible = true;
        mAtmService.mTaskSupervisor.beginActivityVisibilityUpdate();
        try {
            mInEnsureActivitiesVisible = true;
            forAllRootTasks(rootTask -> {
                rootTask.ensureActivitiesVisible(starting, configChanges, preserveWindows,
                        notifyClients);
+1 −2
Original line number Diff line number Diff line
@@ -1833,9 +1833,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
            // Don't do recursive work.
            return;
        }

        try {
        mTaskSupervisor.beginActivityVisibilityUpdate();
        try {
            // First the front root tasks. In case any are not fullscreen and are in front of home.
            for (int displayNdx = getChildCount() - 1; displayNdx >= 0; --displayNdx) {
                final DisplayContent display = getChildAt(displayNdx);