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

Commit 824b6dcb authored by Chong Zhang's avatar Chong Zhang
Browse files

Don't wait for visible if there is no running activity left.

We could run into this situation on some devices (eg. clockworks),
the next activity doesn't get launched until we destroy this one.

allResumedActivitiesVisible() will return false if there is no other
activity running at all. Check top running activity and it's visibility
instead.

bug: 28400334
Change-Id: Ib8957e499580a10206fdd4e27da19fbc2bdb5843
parent 58a252d1
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3457,8 +3457,11 @@ final class ActivityStack {
        // First things first: if this activity is currently visible,
        // and the resumed activity is not yet visible, then hold off on
        // finishing until the resumed one becomes visible.

        final ActivityRecord next = mStackSupervisor.topRunningActivityLocked();

        if (mode == FINISH_AFTER_VISIBLE && (r.visible || r.nowVisible)
                && !mStackSupervisor.allResumedActivitiesVisible()) {
                && next != null && !next.nowVisible) {
            if (!mStackSupervisor.mStoppingActivities.contains(r)) {
                addToStopping(r, false /* immediate */);
            }