Loading apct-tests/perftests/core/src/android/wm/RecentsAnimationPerfTest.java +5 −0 Original line number Diff line number Diff line Loading @@ -192,6 +192,11 @@ public class RecentsAnimationPerfTest extends WindowManagerPerfTestBase { Assume.assumeNoException( new AssertionError("onAnimationCanceled should not be called")); } @Override public void onTaskAppeared(RemoteAnimationTarget app) throws RemoteException { /* no-op */ } }; recentsSemaphore.tryAcquire(); Loading core/java/android/view/IRecentsAnimationController.aidl +12 −0 Original line number Diff line number Diff line Loading @@ -114,4 +114,16 @@ interface IRecentsAnimationController { * animation is cancelled through fail safe mechanism. */ void setWillFinishToHome(boolean willFinishToHome); /** * Stops controlling a task that is currently controlled by this recents animation. * * This method should be called when a task that has been received via {@link #onAnimationStart} * or {@link #onTaskAppeared} is no longer needed. After calling this method, the task will * either disappear from the screen, or jump to its final position in case it was the top task. * * @param taskId Id of the Task target to remove * @return {@code true} when target removed successfully, {@code false} otherwise. */ boolean removeTask(int taskId); } core/java/android/view/IRecentsAnimationRunner.aidl +6 −0 Original line number Diff line number Diff line Loading @@ -56,4 +56,10 @@ oneway interface IRecentsAnimationRunner { void onAnimationStart(in IRecentsAnimationController controller, in RemoteAnimationTarget[] apps, in RemoteAnimationTarget[] wallpapers, in Rect homeContentInsets, in Rect minimizedHomeBounds) = 2; /** * Called when the task of an activity that has been started while the recents animation * was running becomes ready for control. */ void onTaskAppeared(in RemoteAnimationTarget app) = 3; } data/etc/services.core.protolog.json +18 −0 Original line number Diff line number Diff line Loading @@ -883,6 +883,12 @@ "group": "WM_DEBUG_ORIENTATION", "at": "com\/android\/server\/wm\/ActivityRecord.java" }, "-242787066": { "message": "addTaskToRecentsAnimationIfNeeded, control: %s, task: %s, transit: %s", "level": "DEBUG", "group": "WM_DEBUG_RECENTS_ANIMATIONS", "at": "com\/android\/server\/wm\/WindowContainer.java" }, "-198463978": { "message": "updateRotationUnchecked: alwaysSendConfiguration=%b forceRelayout=%b", "level": "VERBOSE", Loading @@ -901,6 +907,12 @@ "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" }, "-167822951": { "message": "Attempted to add starting window to token with already existing starting window", "level": "WARN", Loading Loading @@ -1525,6 +1537,12 @@ "group": "WM_DEBUG_RECENTS_ANIMATIONS", "at": "com\/android\/server\/wm\/RecentsAnimation.java" }, "854237232": { "message": "addTaskToRecentsAnimationIfNeeded, control: %s, task: %s, transit: %s", "level": "DEBUG", "group": "WM_DEBUG_RECENTS_ANIMATIONS", "at": "com\/android\/server\/wm\/Task.java" }, "873914452": { "message": "goodToGo()", "level": "DEBUG", Loading packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java +5 −0 Original line number Diff line number Diff line Loading @@ -261,6 +261,11 @@ public class ActivityManagerWrapper { animationHandler.onAnimationCanceled( taskSnapshot != null ? new ThumbnailData(taskSnapshot) : null); } @Override public void onTaskAppeared(RemoteAnimationTarget app) { animationHandler.onTaskAppeared(new RemoteAnimationTargetCompat(app)); } }; } ActivityTaskManager.getService().startRecentsActivity(intent, receiver, runner); Loading Loading
apct-tests/perftests/core/src/android/wm/RecentsAnimationPerfTest.java +5 −0 Original line number Diff line number Diff line Loading @@ -192,6 +192,11 @@ public class RecentsAnimationPerfTest extends WindowManagerPerfTestBase { Assume.assumeNoException( new AssertionError("onAnimationCanceled should not be called")); } @Override public void onTaskAppeared(RemoteAnimationTarget app) throws RemoteException { /* no-op */ } }; recentsSemaphore.tryAcquire(); Loading
core/java/android/view/IRecentsAnimationController.aidl +12 −0 Original line number Diff line number Diff line Loading @@ -114,4 +114,16 @@ interface IRecentsAnimationController { * animation is cancelled through fail safe mechanism. */ void setWillFinishToHome(boolean willFinishToHome); /** * Stops controlling a task that is currently controlled by this recents animation. * * This method should be called when a task that has been received via {@link #onAnimationStart} * or {@link #onTaskAppeared} is no longer needed. After calling this method, the task will * either disappear from the screen, or jump to its final position in case it was the top task. * * @param taskId Id of the Task target to remove * @return {@code true} when target removed successfully, {@code false} otherwise. */ boolean removeTask(int taskId); }
core/java/android/view/IRecentsAnimationRunner.aidl +6 −0 Original line number Diff line number Diff line Loading @@ -56,4 +56,10 @@ oneway interface IRecentsAnimationRunner { void onAnimationStart(in IRecentsAnimationController controller, in RemoteAnimationTarget[] apps, in RemoteAnimationTarget[] wallpapers, in Rect homeContentInsets, in Rect minimizedHomeBounds) = 2; /** * Called when the task of an activity that has been started while the recents animation * was running becomes ready for control. */ void onTaskAppeared(in RemoteAnimationTarget app) = 3; }
data/etc/services.core.protolog.json +18 −0 Original line number Diff line number Diff line Loading @@ -883,6 +883,12 @@ "group": "WM_DEBUG_ORIENTATION", "at": "com\/android\/server\/wm\/ActivityRecord.java" }, "-242787066": { "message": "addTaskToRecentsAnimationIfNeeded, control: %s, task: %s, transit: %s", "level": "DEBUG", "group": "WM_DEBUG_RECENTS_ANIMATIONS", "at": "com\/android\/server\/wm\/WindowContainer.java" }, "-198463978": { "message": "updateRotationUnchecked: alwaysSendConfiguration=%b forceRelayout=%b", "level": "VERBOSE", Loading @@ -901,6 +907,12 @@ "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" }, "-167822951": { "message": "Attempted to add starting window to token with already existing starting window", "level": "WARN", Loading Loading @@ -1525,6 +1537,12 @@ "group": "WM_DEBUG_RECENTS_ANIMATIONS", "at": "com\/android\/server\/wm\/RecentsAnimation.java" }, "854237232": { "message": "addTaskToRecentsAnimationIfNeeded, control: %s, task: %s, transit: %s", "level": "DEBUG", "group": "WM_DEBUG_RECENTS_ANIMATIONS", "at": "com\/android\/server\/wm\/Task.java" }, "873914452": { "message": "goodToGo()", "level": "DEBUG", Loading
packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java +5 −0 Original line number Diff line number Diff line Loading @@ -261,6 +261,11 @@ public class ActivityManagerWrapper { animationHandler.onAnimationCanceled( taskSnapshot != null ? new ThumbnailData(taskSnapshot) : null); } @Override public void onTaskAppeared(RemoteAnimationTarget app) { animationHandler.onTaskAppeared(new RemoteAnimationTargetCompat(app)); } }; } ActivityTaskManager.getService().startRecentsActivity(intent, receiver, runner); Loading