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

Commit 1da54e3a authored by Jerry Chang's avatar Jerry Chang Committed by Automerger Merge Worker
Browse files

Merge "Include all not occluded leaf tasks while wrapping animation target"...

Merge "Include all not occluded leaf tasks while wrapping animation target" into tm-dev am: efb263d1

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17499144



Change-Id: I3aa96e3a2cfb8a3eb88d97815b1ca82fe0869f8c
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 031fc068 efb263d1
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -1951,12 +1951,6 @@
      "group": "WM_DEBUG_ORIENTATION",
      "at": "com\/android\/server\/wm\/ScreenRotationAnimation.java"
    },
    "-172900257": {
      "message": "addTaskToTargets, target: %s",
      "level": "DEBUG",
      "group": "WM_DEBUG_RECENTS_ANIMATIONS",
      "at": "com\/android\/server\/wm\/RecentsAnimationController.java"
    },
    "-172326720": {
      "message": "Saving icicle of %s: %s",
      "level": "INFO",
@@ -3319,6 +3313,12 @@
      "group": "WM_DEBUG_WINDOW_ORGANIZER",
      "at": "com\/android\/server\/wm\/DisplayAreaOrganizerController.java"
    },
    "1151072840": {
      "message": "collectTaskRemoteAnimations, target: %s",
      "level": "DEBUG",
      "group": "WM_DEBUG_RECENTS_ANIMATIONS",
      "at": "com\/android\/server\/wm\/RecentsAnimationController.java"
    },
    "1164325516": {
      "message": "onExitAnimationDone in %s: exiting=%b remove=%b selfAnimating=%b anim=%s",
      "level": "VERBOSE",
+21 −16
Original line number Diff line number Diff line
@@ -707,13 +707,7 @@ public class RecentsAnimationController implements DeathRecipient {
            if (isAnimatingTask(task) || skipAnimation(task)) {
                return;
            }
            final RemoteAnimationTarget target = createTaskRemoteAnimation(task, MODE_OPENING,
                    finishedCallback);
            if (target == null) {
                return;
            }
            ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS, "addTaskToTargets, target: %s", target);
            mPendingTaskAppears.add(target);
            collectTaskRemoteAnimations(task, MODE_OPENING, finishedCallback);
        }
    }

@@ -729,19 +723,30 @@ public class RecentsAnimationController implements DeathRecipient {
        }
    }

    private RemoteAnimationTarget createTaskRemoteAnimation(Task task, int mode,
    private void collectTaskRemoteAnimations(Task task, int mode,
            OnAnimationFinishedCallback finishedCallback) {
        final SparseBooleanArray recentTaskIds =
                mService.mAtmService.getRecentTasks().getRecentTaskIds();

        // The target must be built off the root task (the leaf task surface would be cropped
        // within the root surface). However, recents only tracks leaf task ids, so we'll replace
        // the task-id with the leaf id.
        final Task leafTask = task.getTopLeafTask();
        int taskId = leafTask.mTaskId;
        TaskAnimationAdapter adapter = addAnimation(task,
        // within the root surface). However, recents only tracks leaf task ids, so we'll traverse
        // and create animation target for all visible leaf tasks.
        task.forAllLeafTasks(leafTask -> {
            if (!leafTask.shouldBeVisible(null /* starting */)) {
                return;
            }
            final int taskId = leafTask.mTaskId;
            TaskAnimationAdapter adapter = addAnimation(leafTask,
                    !recentTaskIds.get(taskId), true /* hidden */, finishedCallback);
            mPendingNewTaskTargets.add(taskId);
        return adapter.createRemoteAnimationTarget(taskId, mode);
            final RemoteAnimationTarget target =
                    adapter.createRemoteAnimationTarget(taskId, mode);
            if (target != null) {
                mPendingTaskAppears.add(target);
                ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS,
                        "collectTaskRemoteAnimations, target: %s", target);
            }
        }, true);
    }

    void logRecentsAnimationStartTime(int durationMs) {