Loading data/etc/services.core.protolog.json +6 −6 Original line number Diff line number Diff line Loading @@ -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", Loading Loading @@ -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", Loading services/core/java/com/android/server/wm/RecentsAnimationController.java +21 −16 Original line number Diff line number Diff line Loading @@ -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); } } Loading @@ -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) { Loading Loading
data/etc/services.core.protolog.json +6 −6 Original line number Diff line number Diff line Loading @@ -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", Loading Loading @@ -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", Loading
services/core/java/com/android/server/wm/RecentsAnimationController.java +21 −16 Original line number Diff line number Diff line Loading @@ -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); } } Loading @@ -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) { Loading