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

Commit 60019bd2 authored by Evan Rosky's avatar Evan Rosky Committed by Android (Google) Code Review
Browse files

Merge "Don't prematurely set-ready for activities not actually on top" into main

parents b19bd235 c2d663bf
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2477,6 +2477,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
            final DisplayContent display = getChildAt(displayNdx);
            final boolean curResult = result;
            boolean[] resumedOnDisplay = new boolean[1];
            final ActivityRecord topOfDisplay = display.topRunningActivity();
            display.forAllRootTasks(rootTask -> {
                final ActivityRecord topRunningActivity = rootTask.topRunningActivity();
                if (!rootTask.isFocusableAndVisible() || topRunningActivity == null) {
@@ -2490,8 +2491,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
                    resumedOnDisplay[0] |= curResult;
                    return;
                }
                if (topRunningActivity.isState(RESUMED)
                        && topRunningActivity == rootTask.getDisplayArea().topRunningActivity()) {
                if (topRunningActivity.isState(RESUMED) && topRunningActivity == topOfDisplay) {
                    // Kick off any lingering app transitions form the MoveTaskToFront operation,
                    // but only consider the top activity on that display.
                    rootTask.executeAppTransition(targetOptions);
+2 −1
Original line number Diff line number Diff line
@@ -832,7 +832,8 @@ public class RootWindowContainerTests extends WindowTestsBase {

        // Assume the task is at the topmost position
        assertFalse(rootTask.isTopRootTaskInDisplayArea());
        doReturn(taskDisplayArea.getHomeActivity()).when(taskDisplayArea).topRunningActivity();
        doReturn(taskDisplayArea.getHomeActivity()).when(taskDisplayArea).topRunningActivity(
                anyBoolean());

        // Use the task as target to resume.
        mRootWindowContainer.resumeFocusedTasksTopActivities();