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

Commit e8f51cb9 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: Ief23dccb5e3ed45b67e4ad77abc80de73790cde2
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9a5d9054 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) {