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

Commit 8d90496b authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Fix issue with non-focusable PiP activities being resumed." into...

Merge "Merge "Fix issue with non-focusable PiP activities being resumed." into oc-dev am: 68cf1b88 am: 8561894f"
parents 8801fb82 51ddd5d6
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -644,9 +644,13 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
    }

    final ActivityRecord topRunningActivityLocked() {
        return topRunningActivityLocked(false /* focusableOnly */);
    }

    final ActivityRecord topRunningActivityLocked(boolean focusableOnly) {
        for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) {
            ActivityRecord r = mTaskHistory.get(taskNdx).topRunningActivityLocked();
            if (r != null) {
            if (r != null && (!focusableOnly || r.isFocusable())) {
                return r;
            }
        }
@@ -1321,7 +1325,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
                        + (timeout ? " (due to timeout)" : " (pause complete)"));
                mService.mWindowManager.deferSurfaceLayout();
                try {
                    completePauseLocked(true, null);
                    completePauseLocked(true /* resumeNext */, null /* resumingActivity */);
                } finally {
                    mService.mWindowManager.continueSurfaceLayout();
                }
@@ -2198,8 +2202,10 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
            return false;
        }

        // Find the topmost activity in this stack that is not finishing.
        final ActivityRecord next = topRunningActivityLocked();
        // Find the next top-most activity to resume in this stack that is not finishing and is
        // focusable. If it is not focusable, we will fall into the case below to resume the
        // top activity in the next focusable task.
        final ActivityRecord next = topRunningActivityLocked(true /* focusableOnly */);

        final boolean hasRunningActivity = next != null;