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

Commit 6776171d authored by Andrii Kulian's avatar Andrii Kulian Committed by android-build-merger
Browse files

Merge \"Merge \\\"Don\\\'t update task to return to type for last task over...

Merge \"Merge \\\"Don\\\'t update task to return to type for last task over home\\\" into nyc-dev am: 62b08eb5 am: ad36bf7a\" into nyc-mr1-dev-plus-aosp
am: 5e8c48a3

Change-Id: I651a6e9a540eac3664ec277ca961697cb3bf13a3
parents 5adaba4b 5e8c48a3
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;