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

Commit 5e2fbdbf authored by Andrii Kulian's avatar Andrii Kulian Committed by android-build-merger
Browse files

Merge \"Don\'t update task to return to type for last task over home\" into nyc-dev

am: 62b08eb5

Change-Id: Ib6767e4e7e31c6714687bb89ba51f82c0e5ba4b0
parents c8649b38 62b08eb5
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -2581,11 +2581,14 @@ final class ActivityStack {
    }

    private void insertTaskAtTop(TaskRecord task, ActivityRecord newActivity) {
        boolean isLastTaskOverHome = false;
        // If the moving task is over home stack, transfer its return type to next task
        if (task.isOverHomeStack()) {
            final TaskRecord nextTask = getNextTask(task);
            if (nextTask != null) {
                nextTask.setTaskToReturnTo(task.getTaskToReturnTo());
            } else {
                isLastTaskOverHome = true;
            }
        }

@@ -2595,7 +2598,10 @@ final class ActivityStack {
            ActivityStack lastStack = mStackSupervisor.getLastStack();
            final boolean fromHome = lastStack.isHomeStack();
            if (!isHomeStack() && (fromHome || topTask() != task)) {
                int returnToType = APPLICATION_ACTIVITY_TYPE;
                // If it's a last task over home - we default to keep its return to type not to
                // make underlying task focused when this one will be finished.
                int returnToType = isLastTaskOverHome
                        ? task.getTaskToReturnTo() : APPLICATION_ACTIVITY_TYPE;
                if (fromHome && StackId.allowTopTaskToReturnHome(mStackId)) {
                    returnToType = lastStack.topTask() == null
                            ? HOME_ACTIVITY_TYPE : lastStack.topTask().taskType;